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

Disassembly:
sub esp, 0xe8
push ebp
push esi
push 0x40
lea eax, [esp + 0x74]
push 0
push eax
call fcn.100058b0
push 0x40
lea eax, [esp + 0x40]
push 0
push eax
call fcn.100058b0
lea eax, [esp + 0x48]
mov dword [esp + 0x20], 0
push eax
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.10004440
mov ecx, dword [esp + 0x2c]
add esp, 0x24
mov dword [esp + 0xc], 0
test ecx, ecx
jne 0x100010a5
mov ebp, 0x11002
call fcn.10003be0
jmp 0x1000132b
mov ebp, eax
cmp eax, 0x10000
jne 0x10001300
push ebx
xor ebx, ebx
mov dword [esp + 0x20], ebx
test ecx, ecx
je 0x100012ef
push edi
nop dword [eax]
nop word [eax + eax]
push dword [esp + ebx*4 + 0x78]
xorps xmm0, xmm0
mov dword [esp + 0x24], 0
mov esi, 0x11002
movq qword [esp + 0x1c], xmm0
call fcn.100047a0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1000111b
mov eax, dword [esp + ebx*4 + 0x38]
test eax, eax
je 0x100012cb
push eax
call fcn.100047a0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x100012cb
push str.IcdInit
push eax
call fcn.10004430
mov edi, eax
add esp, 8
test edi, edi
je 0x100012b7
push 0x40
lea eax, [esp + 0xbc]
mov dword [esp + 0x2c], 0
push 0
push eax
call fcn.100058b0
mov ecx, dword [esp + 0x10c]
add esp, 0xc
mov dword [esp + 0x2c], sym.mantle32.dll_IcdDbgMessage
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
test ecx, ecx
je 0x10001178
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x34], eax
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x110]
call edi
mov esi, eax
cmp esi, 0x10000
jne 0x100012b7
mov edi, dword [esp + 0x1c]
mov esi, edi
shr esi, 0x16
test esi, esi
jne 0x100011c5
mov eax, dword [esp + 0x14]
cmp edi, eax
cmova eax, edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xfc]
mov ebx, 1
test eax, eax
je 0x100011da
mov eax, dword [eax + 0x10]
jmp 0x100011dc
xor eax, eax
test esi, esi
jne 0x100011f2
mov edx, edi
shr edx, 0xc
mov ecx, edx
and ecx, 0x3ff
cmp ecx, 0x19
jae 0x100011f9
mov edx, edi
xor ebx, ebx
shr edx, 0xc
cmp dword [esp + 0xfc], 0
je 0x1000122c
test eax, eax
je 0x100012a3
mov ecx, eax
shr ecx, 0x16
cmp ecx, esi
ja 0x100012a3
jne 0x1000122c
shr eax, 0xc
and edx, 0x3ff
and eax, 0x3ff
cmp eax, edx
ja 0x100012a3
test ebx, ebx
je 0x100012a3
mov eax, dword [0x10020a08]
xor edx, edx
inc dword [0x10020a08]
mov esi, dword [esp + 0x28]
lea eax, [eax + eax*2]
mov dword [eax*4 + 0x1002094c], edi
lea ebx, [eax*4 + 0x10020948]
mov eax, dword [esp + 0x18]
mov edi, dword [0x10020a0c]
mov dword [ebx], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 8], eax
mov dword [esp + 0x18], 0
test esi, esi
je 0x10001295
lea ecx, [edi*8 + 0x10020a10]
nop dword [eax + eax]
mov eax, dword [esp + edx*4 + 0xb8]
lea ecx, [ecx + 8]
inc edx
mov dword [ecx - 8], eax
mov dword [ecx - 4], ebx
cmp edx, esi
jb 0x10001280
mov ebx, dword [esp + 0x24]
add edi, esi
mov dword [0x10020a0c], edi
jmp 0x100012dd
push dword [esp + 0x18]
mov esi, 0x1101c
call fcn.10004a70
mov ebx, dword [esp + 0x28]
jmp 0x100012c0
push dword [esp + 0x18]
call fcn.10004a70
mov dword [esp + 0x1c], 0
add esp, 4
cmp ebp, 0x10000
je 0x100012db
cmp ebp, 0x11002
jne 0x100012dd
mov ebp, esi
mov ecx, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x24], ebx
cmp ebx, ecx
jb 0x100010d0
pop edi
cmp dword [0x10020a08], 0
pop ebx
jbe 0x10001300
mov ebp, 0x10000
jmp 0x1000132f
cmp ebp, 0x11002
jne 0x1000130f
call fcn.10003be0
jmp 0x1000132b
cmp ebp, 0x1101c
jne 0x1000132f
lea eax, [esp + 0xc]
push eax
push dword [esp + 0xf8]
call fcn.10003ae0
add esp, 8
mov ecx, dword [esp + 8]
xor esi, esi
test ecx, ecx
je 0x10001361
push dword [esp + esi*4 + 0x70]
call fcn.10004b75
mov eax, dword [esp + esi*4 + 0x34]
add esp, 4
test eax, eax
je 0x1000135a
push eax
call fcn.10004b75
add esp, 4
mov dword [esp + esi*4 + 0x30], 0
inc esi
cmp esi, dword [esp + 8]
jb 0x10001335
pop esi
mov eax, ebp
pop ebp
add esp, 0xe8
ret