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

Disassembly:
mov eax, 0x1021a743
call fcn.10210210
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x18], edi
cmp dword [edi], 0
je 0x100904e2
mov ebx, dword [esp + 0x80]
lea ecx, [esp + 0x38]
push ecx
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0xac]
cmp byte [esp + 0x8c], 0
je 0x10090325
xor ecx, ecx
or ebp, 0xffffffff
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x14], ecx
mov edx, dword [eax]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x1008ffaf
mov eax, dword [eax - 4]
jmp 0x1008ffb1
xor eax, eax
cmp ecx, eax
jge 0x100904e2
mov eax, dword [edx + 0xc]
and dword [esp + 0x20], 0
push dword [eax + ecx*4]
lea ecx, [esp + 0x24]
call fcn.1000fdf5
and dword [esp + 0x74], 0
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x1008ffe8
mov eax, dword [0x102b7738]
jmp 0x1008fffb
cmp eax, dword [0x102b7738]
jne 0x1008ffff
push 0
push ecx
push edi
mov ecx, esi
call fcn.10079533
mov dword [esp + 0x1c], eax
mov eax, dword [esi]
mov ecx, esi
push 0
push dword [esp + 0x8c]
call dword [eax + 0x1dc]
test al, al
je 0x10090296
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x470]
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x88]
je 0x10090056
mov ecx, dword [esp + 0x18]
push esi
call fcn.10090940
mov ecx, dword [esp + 0x24]
dec dword [esp + 0x14]
push esi
push ecx
push edi
add ecx, 0xdc
call fcn.100909c5
jmp 0x10090310
mov ecx, esi
call fcn.1001ba36
test al, al
je 0x1009009c
push dword [esi + 0x74]
push dword [esi + 0x70]
push 0
push 0x8000000
call fcn.100022cf
add esp, 0x10
test al, al
jne 0x1009009c
mov edi, dword [esi]
push ecx
push ecx
push esp
mov ecx, esi
call dword [edi + 0x464]
push dword [esp + 0x8c]
mov ecx, esi
push ebx
call dword [edi + 0x28c]
jmp 0x10090310
push edi
mov ecx, esi
call fcn.10004b2c
mov ecx, esi
test al, al
je 0x10090312
mov eax, dword [esi]
call dword [eax + 0x50c]
test eax, eax
js 0x10090310
push dword [esi + 0x74]
push dword [esi + 0x70]
push 0
push 0x8000000
call fcn.100022cf
add esp, 0x10
test al, al
je 0x100900e9
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xb0]
test al, al
je 0x10090310
mov edx, dword [esi]
push ecx
push ecx
push esp
mov ecx, esi
call dword [edx + 0x464]
lea eax, [esp + 0x50]
push eax
mov eax, dword [esi]
lea ecx, [esp + 0x64]
push 0
push ecx
mov ecx, esi
call dword [eax + 0x208]
mov ecx, eax
call fcn.1000e8ff
mov eax, dword [esp + 0x38]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x60]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x64]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [esp + 0x68]
mov dword [ecx], eax
mov eax, dword [esp + 0x6c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x70]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 0xc], eax
call fcn.1003cdf7
add esp, 0x20
test al, al
jne 0x100901b0
mov ecx, dword [esp + 0x1c]
add ecx, 0x98
call fcn.1008ff20
test al, al
jne 0x10090310
lea ecx, [esi + 0xdc]
call fcn.100226e0
test al, al
jne 0x10090310
mov edx, dword [esi]
push ecx
push ecx
push esp
mov ecx, esi
call dword [edx + 0x464]
push dword [esp + 0x94]
lea ecx, [esi + 0xdc]
push esi
push edi
push ebx
call fcn.1008ff49
jmp 0x10090310
mov ecx, esi
call fcn.10017480
test al, al
jne 0x100902a6
mov ecx, esi
call fcn.1001ba36
test al, al
jne 0x100902a6
mov ecx, esi
call fcn.1001741e
mov ecx, esi
test al, al
je 0x1009026d
mov eax, dword [esi]
push edi
call dword [eax + 0x400]
test al, al
je 0x100901f7
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0x46c]
mov ebx, dword [esi + 0x7c]
mov edi, dword [esi + 0x78]
add edi, dword [esp + 0x90]
add ebx, dword [esp + 0x94]
push ecx
push ecx
mov eax, esp
mov ecx, esi
push dword [esp + 0x8c]
push dword [esp + 0x8c]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov eax, dword [esi]
call dword [eax + 0x28c]
push 0
push ecx
push ecx
mov eax, esp
mov ecx, esi
push dword [esp + 0x90]
push dword [esp + 0x90]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov eax, dword [esi]
call dword [eax + 0x2ac]
push 0
push ecx
push ecx
mov eax, esp
push dword [esp + 0x90]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x90]
jmp 0x10090305
call fcn.10030546
test al, al
je 0x10090296
push dword [esp + 0x88]
mov eax, dword [esi]
lea ecx, [esp + 0x34]
push ecx
mov ecx, esi
call dword [eax + 0x468]
mov ebx, dword [eax + 4]
mov edi, dword [eax]
jmp 0x100901fd
mov ecx, dword [esp + 0x18]
push esi
call fcn.10090940
dec dword [esp + 0x14]
jmp 0x10090310
mov eax, dword [esi]
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
call dword [eax + 0x464]
mov eax, dword [esp + 0x28]
push ecx
push ecx
mov ecx, esp
push edi
push ebx
mov dword [ecx], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 4], eax
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x28c]
mov eax, dword [esp + 0x28]
push 0
push ecx
push ecx
mov ecx, esp
push edi
push ebx
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 4], eax
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x2ac]
mov eax, dword [esp + 0x28]
push 0
push ecx
push ecx
mov ecx, esp
push edi
mov dword [ecx], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 4], eax
mov eax, dword [esi]
mov ecx, esi
push ebx
call dword [eax + 0x2b0]
mov ecx, esi
mov dword [esp + 0x74], ebp
mov eax, dword [esi]
call dword [eax + 4]
mov ecx, dword [esp + 0x14]
inc ecx
jmp 0x1008ff92
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x10090333
mov ecx, dword [ecx - 4]
jmp 0x10090335
xor ecx, ecx
dec ecx
mov dword [esp + 0x8c], ecx
js 0x100904e2
or ebp, 0xffffffff
mov eax, dword [edi]
and dword [esp + 0x80], 0
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4]
lea ecx, [esp + 0x84]
call fcn.1000fdf5
mov dword [esp + 0x74], 1
mov esi, dword [esp + 0x80]
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x10090391
cmp eax, dword [0x102b7738]
jne 0x10090391
push 0
push ecx
push dword [esp + 0x8c]
mov ecx, esi
call fcn.10079533
mov eax, dword [esi]
mov ecx, esi
push 0
push dword [esp + 0x8c]
call dword [eax + 0x1dc]
test al, al
je 0x1009048c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x470]
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x88]
je 0x100903e8
push esi
mov ecx, edi
call fcn.10090940
mov ecx, dword [esp + 0x24]
push esi
push ecx
push dword [esp + 0x8c]
add ecx, 0xdc
call fcn.100909c5
jmp 0x100904b7
push dword [esp + 0x84]
mov ecx, esi
call fcn.10004b2c
mov ecx, esi
test al, al
je 0x100904b9
mov eax, dword [esi]
call dword [eax + 0x50c]
mov ecx, esi
test eax, eax
jns 0x100904d9
call fcn.10017480
test al, al
jne 0x10090496
mov ecx, esi
call fcn.1001ba36
test al, al
jne 0x10090496
mov ecx, esi
call fcn.1001741e
test al, al
je 0x1009043b
mov eax, dword [esi + 0x78]
push ecx
push ecx
mov ecx, dword [esi + 0x7c]
jmp 0x10090463
mov ecx, esi
call fcn.10030546
test al, al
je 0x1009048c
push dword [esp + 0x88]
mov eax, dword [esi]
lea ecx, [esp + 0x34]
push ecx
mov ecx, esi
call dword [eax + 0x468]
push ecx
push ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax]
add eax, dword [esp + 0x98]
mov edx, esp
add ecx, dword [esp + 0x9c]
push dword [esp + 0x8c]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov ecx, esi
mov eax, dword [esi]
push ebx
call dword [eax + 0x28c]
jmp 0x100904b7
push esi
mov ecx, edi
call fcn.10090940
jmp 0x100904b7
mov edi, dword [esi]
push ecx
push ecx
push esp
mov ecx, esi
call dword [edi + 0x464]
push dword [esp + 0x8c]
mov ecx, esi
push ebx
call dword [edi + 0x28c]
mov edi, dword [esp + 0x18]
mov ecx, esi
mov dword [esp + 0x74], ebp
mov eax, dword [esi]
call dword [eax + 4]
mov ecx, dword [esp + 0x8c]
dec ecx
mov dword [esp + 0x8c], ecx
jns 0x10090346
jmp 0x100904e2
mov dword [esp + 0x74], ebp
mov eax, dword [esi]
call dword [eax + 4]
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
leave
ret 0x18