Function at 0x1040155
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x3a8
mov eax, dword [0x111121c]
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov esi, ecx
call fcn.0103fd96
call fcn.0103ff32
xor edi, edi
inc edi
mov dword [ebp - 0x314], edi
call fcn.0103de00
call fcn.0103e682
mov ecx, esi
call fcn.0103fe8e
xor ebx, ebx
cmp dword [0x1112808], edi
jne 0x10401cb
lea eax, [ebp - 0x318]
push eax
push ebx
mov dword [ebp - 0x318], ebx
call fcn.01046916
test eax, eax
jne 0x10401cb
mov ecx, dword [ebp - 0x318]
push ebx
push edi
call fcn.0104669f
mov eax, dword [ebp - 0x318]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [0x11127a8], edi
je 0x10409ab
cmp dword [0x11127a0], edi
jne 0x10401f4
call fcn.0104a4fa
test eax, eax
je 0x10401f4
cmp dword [0x1112f5c], edi
je 0x10409a3
mov ebx, dword [0x100141c]
mov edi, 0x1112e28
push edi
mov dword [0x1112e28], 0x114
call ebx
test eax, eax
jne 0x1040215
push 0x45
pop ecx
rep stosd dword es:[edi], eax
mov edi, 0x1112d00
push edi
mov dword [0x1112d00], 0x11c
call ebx
test eax, eax
jne 0x1040230
push 0x47
pop ecx
rep stosd dword es:[edi], eax
xor ebx, ebx
push 0x1003f28
lea ecx, [ebp - 0x318]
call fcn.0103eac8
push 0x2000000
push ebx
push ebx
call dword [0x10016fc]
mov edi, eax
cmp edi, ebx
je 0x10402bf
lea eax, [ebp - 0x324]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 2
push edi
call dword [0x1001700]
test eax, eax
je 0x10402b8
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x310]
call fcn.01040110
push 0x104
push dword [ebp - 0x310]
lea ecx, [ebp - 0x318]
call fcn.0103eb00
lea eax, [ebp - 0x30c]
cmp dword [ebp - 0x310], eax
je 0x10402b8
push dword [ebp - 0x310]
call dword [fcn.01001a40]
pop ecx
push edi
call dword [0x1001704]
push dword [ebp - 0x318]
lea ecx, [ebp - 0x3a8]
call fcn.01040007
push dword [eax]
push ebx
push 1
push ebx
call dword [0x1001294]
mov dword [esi + 0xc], eax
lea eax, [ebp - 0x3a4]
cmp dword [ebp - 0x3a8], eax
je 0x10402fa
push dword [ebp - 0x3a8]
call dword [fcn.01001a40]
pop ecx
cmp dword [esi + 0xc], ebx
je 0x1040320
call dword [fcn.010013b0]
cmp eax, 0xb7
jne 0x10403eb
push 0xffffffffffffffff
push dword [esi + 0xc]
call dword [fcn.010013f0]
cmp eax, 0xffffffff
jne 0x104032f
mov dword [ebp - 0x314], 0x80004005
jmp 0x10403f1
push ebx
push 0x1003c2c
call dword [fcn.01001708]
cmp eax, ebx
mov dword [ebp - 0x320], eax
je 0x10403ca
lea eax, [ebp - 0x31c]
push eax
push 0x1009cd8
push 4
push ebx
push 0x1009d78
call dword [fcn.01001ac4]
test eax, eax
jl 0x10403a4
push 0x1004cf8
call dword [fcn.010013bc]
mov edi, eax
cmp edi, ebx
je 0x1040398
push 0x1003e40
push edi
call dword [fcn.010013c0]
cmp eax, ebx
je 0x1040391
push ebx
push dword [ebp - 0x31c]
call eax
push edi
call dword [fcn.010013c4]
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [0x1112f5c]
push ebx
push 0x42a
push dword [ebp - 0x320]
call dword [fcn.0100173c]
test eax, eax
je 0x10403ca
mov dword [ebp - 0x314], 0x80004005
cmp dword [ebp - 0x314], ebx
jl 0x10403f1
push dword [esi + 0xc]
call dword [fcn.010013f4]
push 0x3e8
mov dword [esi + 0xc], ebx
call dword [fcn.010013dc]
jmp 0x10403f1
mov dword [ebp - 0x314], ebx
push dword [ebp - 0x318]
call dword [fcn.01001474]
cmp dword [ebp - 0x314], 1
je 0x1040232
cmp dword [ebp - 0x314], ebx
jl 0x104099c
mov edi, dword [fcn.010013bc]
push 0x1003f54
call edi
test eax, eax
mov dword [0x1112f58], eax
jne 0x1040446
push 0x1003f38
call edi
test eax, eax
mov dword [0x1112f58], eax
jne 0x1040446
mov dword [ebp - 0x314], 0x80004005
cmp dword [ebp - 0x314], 0
jl 0x104099c
push 0x9c68
push 0x9c65
push 0x9c99
push 0x9c9a
push 0x9c62
call fcn.01074e0c
test al, al
jne 0x104047f
mov dword [ebp - 0x314], 0x80004005
cmp dword [ebp - 0x314], 0
jl 0x104099c
push 0x14
pop ebx
push ebx
call fcn.0105f04e
test eax, eax
pop ecx
je 0x10404aa
push 0
push 0x103c3da
mov ecx, eax
call fcn.010859b7
jmp 0x10404ac
xor eax, eax
mov edi, dword [0x1001ac8]
lea ecx, [eax + 0xc]
neg eax
sbb eax, eax
and eax, ecx
mov dword [esi + 0x1c], eax
je 0x10404d8
lea ecx, [esi + 0x4c]
push ecx
push 1
push 4
push eax
push 0x1009d78
call edi
mov dword [ebp - 0x314], eax
jmp 0x10404e2
mov dword [ebp - 0x314], 0x8007000e
cmp dword [ebp - 0x314], 0
jl 0x104099c
push ebx
call fcn.0105f04e
test eax, eax
pop ecx
je 0x104050a
push 0
push 0x105dc7e
mov ecx, eax
call fcn.010859b7
jmp 0x104050c
xor eax, eax
lea ecx, [eax + 0xc]
neg eax
sbb eax, eax
and eax, ecx
mov dword [esi + 0x20], eax
jne 0x1040524
mov dword [ebp - 0x314], 0x8007000e
cmp dword [ebp - 0x314], 0
jl 0x104099c
push ebx
call fcn.0105f04e
test eax, eax
pop ecx
je 0x104054c
push 0
push 0x105dc56
mov ecx, eax
call fcn.010859b7
jmp 0x104054e
xor eax, eax
lea ecx, [eax + 0xc]
neg eax
sbb eax, eax
and eax, ecx
mov dword [esi + 0x24], eax
jne 0x1040566
mov dword [ebp - 0x314], 0x8007000e
cmp dword [ebp - 0x314], 0
jl 0x104099c
push ebx
call fcn.0105f04e
test eax, eax
pop ecx
je 0x104058e
push 0
push 0x105dc2e
mov ecx, eax
call fcn.010859b7
jmp 0x1040590
xor eax, eax
lea ecx, [eax + 0xc]
neg eax
sbb eax, eax
and eax, ecx
mov dword [esi + 0x28], eax
jne 0x10405a8
mov dword [ebp - 0x314], 0x8007000e
cmp dword [ebp - 0x314], 0
jl 0x104099c
push ebx
call fcn.0105f04e
test eax, eax
pop ecx
je 0x10405d0
push 0
push 0x103ebe0
mov ecx, eax
call fcn.010859b7
jmp 0x10405d2
xor eax, eax
lea ecx, [eax + 0xc]
neg eax
sbb eax, eax
and eax, ecx
mov dword [esi + 0x2c], eax
jne 0x10405ea
mov dword [ebp - 0x314], 0x8007000e
cmp dword [ebp - 0x314], 0
jl 0x104099c
push ebx
call fcn.0105f04e
test eax, eax
pop ecx
je 0x1040612
push 0
push 0x10b9986
mov ecx, eax
call fcn.010859b7
jmp 0x1040614
xor eax, eax
lea ecx, [eax + 0xc]
neg eax
sbb eax, eax
and eax, ecx
mov dword [esi + 0x38], eax
jne 0x104062c
mov dword [ebp - 0x314], 0x8007000e
cmp dword [ebp - 0x314], 0
jl 0x104099c
push ebx
call fcn.0105f04e
test eax, eax
pop ecx
je 0x1040654
push 0
push 0x103ec3c
mov ecx, eax
call fcn.010859b7
jmp 0x1040656
xor eax, eax
lea ecx, [eax + 0xc]
neg eax
sbb eax, eax
and eax, ecx
mov dword [esi + 0x3c], eax
jne 0x104066e
mov dword [ebp - 0x314], 0x8007000e
cmp dword [ebp - 0x314], 0
jl 0x104099c
push ebx
call fcn.0105f04e
test eax, eax
pop ecx
je 0x1040696
push 0
push 0x105dc06
mov ecx, eax
call fcn.010859b7
jmp 0x1040698
xor eax, eax
lea ecx, [eax + 0xc]
neg eax
sbb eax, eax
and eax, ecx
mov dword [esi + 0x30], eax
jne 0x10406b0
mov dword [ebp - 0x314], 0x8007000e
cmp dword [ebp - 0x314], 0
jl 0x104099c
push ebx
call fcn.0105f04e
test eax, eax
pop ecx
je 0x10406d8
push 0
push 0x103ec0e
mov ecx, eax
call fcn.010859b7
jmp 0x10406da
xor eax, eax
lea ecx, [eax + 0xc]
neg eax
sbb eax, eax
and eax, ecx
mov dword [esi + 0x34], eax
jne 0x10406f2
mov dword [ebp - 0x314], 0x8007000e
cmp dword [ebp - 0x314], 0
jl 0x104099c
push ebx
call fcn.0105f04e
test eax, eax
pop ecx
je 0x104071a
push 0
push 0x109c255
mov ecx, eax
call fcn.010859b7
jmp 0x104071c
xor eax, eax
lea ecx, [eax + 0xc]
neg eax
sbb eax, eax
and eax, ecx
mov dword [esi + 0x48], eax
jne 0x1040734
mov dword [ebp - 0x314], 0x8007000e
cmp dword [ebp - 0x314], 0
jl 0x104099c
mov ebx, dword [0x1001444]
push 0x1112f4c
push 0
push 0
push 1
push 0x1009c28
call ebx
test eax, eax
mov dword [ebp - 0x314], eax
jl 0x104099c
push 0x1112f50
push 0
push 0
push 1
push 0x1009b38
call ebx
test eax, eax
mov dword [ebp - 0x314], eax
jl 0x104099c
push 0x1112f54
push 0
push 0
push 1
push 0x1009dc8
call ebx
test eax, eax
mov dword [ebp - 0x314], eax
jl 0x104099c
call fcn.0103eb91
test eax, eax
mov dword [ebp - 0x314], eax
jl 0x104099c
call fcn.01066e3a
test eax, eax
mov dword [ebp - 0x314], eax
jl 0x104099c
call fcn.01087a05
test eax, eax
mov dword [ebp - 0x314], eax
jl 0x104099c
call fcn.0103c75f
test eax, eax
mov dword [ebp - 0x314], eax
jl 0x104099c
call fcn.01066e3a
test eax, eax
mov dword [ebp - 0x314], eax
jl 0x104099c
call fcn.010bac53
test eax, eax
mov dword [ebp - 0x314], eax
jl 0x104099c
call fcn.01045a44
test eax, eax
mov dword [ebp - 0x314], eax
jl 0x104099c
call fcn.01086a39
test eax, eax
mov dword [ebp - 0x314], eax
jl 0x104099c
call fcn.010860ec
test eax, eax
mov dword [ebp - 0x314], eax
jl 0x104099c
lea ebx, [esi + 0x84]
cmp dword [ebx], 0
jne 0x1040894
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x1040894
mov ecx, dword [eax]
push ebx
push 0x1009ef8
push 0
push eax
call dword [ecx + 0xc]
test eax, eax
mov dword [ebp - 0x314], eax
jl 0x104099c
mov eax, dword [ebx]
test eax, eax
je 0x104088b
add eax, 0xfffffff4
jmp 0x104088d
xor eax, eax
mov dword [eax + 0x5c], 1
push dword [ebx]
call fcn.0105f9c6
test eax, eax
mov dword [ebp - 0x314], eax
jl 0x104099c
push 0x5f8
call fcn.0105f04e
test eax, eax
pop ecx
je 0x10408c1
mov ecx, eax
call fcn.0105155f
jmp 0x10408c3
xor eax, eax
test eax, eax
mov dword [esi + 0x18], eax
je 0x10408d9
mov ecx, eax
call fcn.01057198
mov dword [ebp - 0x314], eax
jmp 0x10408e3
mov dword [ebp - 0x314], 0x8007000e
cmp dword [ebp - 0x314], 0
jl 0x104099c
push dword [esi + 0xc]
call dword [0x1001384]
lea eax, [esi + 0x50]
push eax
push 1
push 4
pop ebx
push ebx
push dword [esi + 0x20]
push 0x1009d88
call edi
lea eax, [esi + 0x54]
push eax
push 1
push ebx
push dword [esi + 0x24]
push 0x100a0e8
call edi
lea eax, [esi + 0x5c]
push eax
push 2
push ebx
push dword [esi + 0x2c]
push 0x1009c08
call edi
lea eax, [esi + 0x58]
push eax
push 1
push ebx
push dword [esi + 0x28]
push 0x1009c18
call edi
lea eax, [esi + 0x64]
push eax
push 2
push ebx
push dword [esi + 0x34]
push 0x1009e48
call edi
lea eax, [esi + 0x60]
push eax
push 1
push ebx
push dword [esi + 0x30]
push 0x1009e58
call edi
lea eax, [esi + 0x6c]
push eax
push 2
push ebx
push dword [esi + 0x3c]
push 0x1009e68
call edi
lea eax, [esi + 0x68]
push eax
push 1
push ebx
push dword [esi + 0x38]
push 0x1009e78
call edi
lea eax, [esi + 0x78]
push eax
push 1
push ebx
push dword [esi + 0x48]
push 0x100a068
call edi
and dword [ebp - 0x314], 0
call fcn.0103f5f5
jmp 0x10409ca
cmp dword [0x11127a8], edi
jne 0x10409b4
push 4
push 0x1004030
jmp 0x10409bb
push 4
push 0x1004138
call fcn.0106783f
mov dword [ebp - 0x314], 0x80004004
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x314]
pop edi
pop esi
pop ebx
call fcn.0105eca9
leave
ret