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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ad5a0
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
push ebx
push esi
push edi
mov eax, dword [0x100df0c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0x10]
mov dword [ebp - 4], 0
test eax, eax
jne 0x100494a7
push dword [ebp + 0xc]
lea ecx, [ebp - 0x6c]
call fcn.100514a0
lea ecx, [ebp - 0x6c]
call fcn.10017d10
mov ecx, eax
call fcn.10051570
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 1
jne 0x100495b9
mov dword [ebp - 0x18], 0
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp - 0x18]
push ecx
mov byte [ebp - 4], al
push 0x100b9044
mov eax, dword [ebx]
push ebx
call dword [eax]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x10049510
mov ecx, dword [eax]
push 0
push 0
push 0
push 0
push eax
call dword [ecx + 0xc]
mov esi, eax
test esi, esi
je 0x1004950d
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 0
test ecx, ecx
je 0x100494f7
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0
test eax, eax
je 0x1004951e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp + 0x14]
test edi, edi
jne 0x1004953e
mov eax, 0x80004005
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [edi]
lea ecx, [ebp - 0x54]
push ecx
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x30]
push ecx
push 0
push edi
call dword [eax + 0x14]
test eax, eax
jne 0x10049b8a
cmp dword [ebp - 0x2c], eax
je 0x100495de
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x5c], eax
mov eax, dword [edi]
lea ecx, [ebp - 0x64]
push ecx
push 6
push 0
push edi
mov byte [ebp - 4], 2
call dword [eax + 0x18]
mov esi, eax
test esi, esi
je 0x1004959b
lea ecx, [ebp - 0x64]
call fcn.10024ae0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ax, word [ebp - 0x64]
test ax, ax
je 0x100495d2
cmp ax, 0xb
jne 0x100495b1
cmp word [ebp - 0x5c], 0
je 0x100495d2
lea ecx, [ebp - 0x64]
call fcn.10024ae0
mov eax, 0x80070057
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0
call fcn.10024ae0
cmp dword [ebp - 0x30], 0
je 0x10049a86
xor eax, eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x5c], eax
mov eax, dword [edi]
lea ecx, [ebp - 0x64]
push ecx
push 7
push 0
push edi
mov byte [ebp - 4], 3
call dword [eax + 0x18]
mov esi, eax
test esi, esi
jne 0x1004957d
cmp word [ebp - 0x64], 0x15
lea ecx, [ebp - 0x64]
jne 0x100495b4
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0
call fcn.10024ae0
lea ecx, [ebp + 0x10]
call fcn.10047310
mov ebx, dword [ebp + 8]
mov ecx, 5
mov edi, dword [ebp + 0x10]
mov edx, 0x400
mov byte [ebp - 4], 4
mov dword [ebp - 0x4c], edi
mov eax, dword [ebx + 0x30]
cmp eax, 0xffffffff
cmove eax, ecx
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 0xa8], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 0xac], eax
mov eax, dword [ebx + 8]
cmp eax, edx
mov ecx, eax
cmova ecx, edx
cmp byte [ebx + 0x10], 0
mov dword [ebp - 0x18], ecx
jne 0x100497ee
cmp eax, 1
jb 0x100497ee
cmp byte [ebx + 0x11], 0
je 0x100497ee
lea ecx, [ebp - 0x78]
call fcn.1002c370
mov byte [ebp - 4], 5
cmp dword [ebx + 0x40], esi
je 0x100496b0
mov eax, dword [ebx + 0x3c]
lea ecx, [ebp - 0x78]
push dword [eax]
call fcn.100475c0
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebx + 8]
call fcn.10044940
lea ecx, [ebp - 0x78]
call fcn.1002ecd0
mov esi, dword [ebp - 0x18]
test eax, eax
setns al
test al, al
jne 0x100496da
mov edx, esi
lea ecx, [ebp - 0x78]
call fcn.100449d0
mov ecx, dword [ebx + 0x110]
mov eax, ecx
mov edx, dword [ebx + 0x114]
or eax, edx
je 0x100496f6
push edx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100477c0
lea ecx, [ebp - 0x78]
call fcn.1002ed00
mov edi, eax
mov dword [ebp - 0x1c], edx
mov ecx, edi
or ecx, edx
je 0x100497dc
and eax, edx
cmp eax, 0xffffffff
je 0x100497dc
lea ecx, [ebp - 0x78]
call fcn.1002ec60
mov ecx, eax
xor edx, edx
mov eax, esi
mov dword [ebp - 0x48], ecx
div ecx
mov dword [ebp - 0x44], eax
cmp eax, 1
jbe 0x100497dc
push 0
lea ecx, [ebp - 0x78]
mov esi, eax
call fcn.100558b0
mov ecx, eax
add ecx, edi
mov dword [ebp - 0x3c], ecx
adc edx, dword [ebp - 0x1c]
mov dword [ebp - 0x40], edx
push edx
push ecx
push 0
push esi
call fcn.1009c890
mov ecx, esi
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x1c]
shr ecx, 3
inc ecx
mov dword [ebp - 0x38], edx
add ecx, esi
test eax, eax
ja 0x10049798
jb 0x10049779
cmp edi, 0x4000000
jae 0x1004977a
inc ecx
test eax, eax
ja 0x10049798
jb 0x10049788
cmp edi, 0x1000000
jae 0x10049789
inc ecx
test eax, eax
ja 0x10049798
jb 0x10049797
cmp edi, 0x400000
jae 0x10049798
inc ecx
push eax
push edi
push 0
push ecx
call fcn.1009c890
mov ecx, dword [ebp - 0x34]
add ecx, eax
mov eax, dword [ebp - 0x38]
adc eax, edx
cmp eax, dword [ebx + 0x1c]
jb 0x100497c4
ja 0x100497b8
cmp ecx, dword [ebx + 0x18]
jbe 0x100497c4
mov ecx, dword [ebp - 0x3c]
dec esi
mov edx, dword [ebp - 0x40]
cmp esi, 1
ja 0x10049750
test esi, esi
mov edi, 1
cmove esi, edi
cmp esi, dword [ebp - 0x44]
je 0x100497dc
mov eax, esi
imul eax, dword [ebp - 0x48]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 4
call fcn.1002c7b0
mov edi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x18]
mov dword [edi + 0xa0], ecx
mov eax, dword [ebx + 0x110]
mov dword [edi + 0x90], eax
mov eax, dword [ebx + 0x114]
mov dword [edi + 0x94], eax
mov eax, dword [ebx + 0x110]
and eax, dword [ebx + 0x114]
cmp eax, 0xffffffff
jne 0x10049823
mov dword [edi + 0x60], eax
mov dword [edi + 0x64], eax
push dword [ebx + 0x38]
mov ecx, dword [ebp + 0x10]
call fcn.1005dbb0
mov esi, eax
test esi, esi
jne 0x10049973
cmp dword [ebx + 0x10c], 3
jne 0x1004987c
xor ecx, ecx
cmp dword [ebx + 0x4c], ecx
jbe 0x1004990b
lea esp, [esp]
mov eax, dword [ebx + 0x48]
mov eax, dword [eax + ecx*4]
cmp dword [eax], 0
jne 0x100498e5
cmp word [eax + 8], 0x13
jne 0x100498e5
mov edx, dword [eax + 0x10]
lea eax, [edx - 1]
cmp eax, 0xff
ja 0x100498e5
inc ecx
mov dword [edi + 0x7c], edx
cmp ecx, dword [ebx + 0x4c]
jb 0x10049850
mov eax, dword [ebx + 0x10c]
xor ecx, ecx
mov dword [edi + 0x78], eax
mov dword [ebp - 0x1c], ecx
cmp ecx, dword [ebx + 0x40]
jae 0x10049942
mov eax, dword [ebx + 0x3c]
xor esi, esi
mov ebx, dword [eax + ecx*4]
jmp 0x100498a0
cmp esi, dword [ebx + 4]
jae 0x10049936
mov eax, dword [ebx]
mov ecx, dword [eax + esi*4]
lea eax, [ecx + 8]
push eax
push dword [ecx]
mov ecx, dword [ebp + 0x10]
call fcn.1005dc50
mov edi, eax
test edi, edi
je 0x10049930
mov ecx, dword [ebp + 0x10]
push ecx
mov byte [ebp - 4], 0
mov edx, dword [ecx]
call dword [edx + 8]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x10]
push eax
mov byte [ebp - 4], 0
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, 0x80070057
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], cl
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, 0x80070057
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
inc esi
jmp 0x100498a0
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebp + 8]
inc ecx
jmp 0x10049887
mov dword [ebp + 8], 0
mov edi, dword [ebp + 0x14]
lea ecx, [ebp + 8]
push ecx
push 0
push edi
mov eax, dword [edi]
mov byte [ebp - 4], 6
call dword [eax + 0x1c]
mov esi, eax
mov eax, dword [ebp + 8]
test esi, esi
je 0x10049996
mov byte [ebp - 4], 4
test eax, eax
je 0x10049973
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp + 0x10]
push ecx
mov byte [ebp - 4], 0
mov edx, dword [ecx]
call dword [edx + 8]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
test eax, eax
jne 0x100499bf
mov ecx, dword [ebp + 0x10]
push ecx
mov byte [ebp - 4], al
mov edx, dword [ecx]
call dword [edx + 8]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [ebp + 0x14], 0
mov ecx, dword [eax]
lea edx, [ebp + 0x14]
push edx
push 0x100b8fd4
push eax
mov byte [ebp - 4], 7
call dword [ecx]
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x100499f8
mov ecx, dword [eax]
lea edx, [ebp - 0x50]
push edx
push eax
call dword [ecx + 0xc]
test eax, eax
mov eax, dword [ebp + 0x14]
jne 0x100499f8
mov ebx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
jmp 0x100499fe
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 4], 6
test eax, eax
je 0x10049a0c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [edi]
push esi
push ebx
push edi
call dword [eax + 0xc]
mov esi, eax
test esi, esi
je 0x10049a22
mov eax, dword [ebp + 8]
jmp 0x10049965
lea ecx, [ebp - 0x1c]
call fcn.1002a760
mov ecx, dword [ebp - 0x1c]
push 1
push edi
mov byte [ebp - 4], 8
call fcn.100585a0
push dword [ebp - 0x1c]
mov eax, dword [ebp + 0x10]
push 0
push 0
push dword [ebp + 0xc]
mov ecx, dword [eax]
push dword [ebp + 8]
push eax
call dword [ecx + 0xc]
mov esi, eax
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 4
test esi, esi
jne 0x10049969
test eax, eax
je 0x10049a77
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [edi]
push 0
push edi
call dword [eax + 0x20]
mov esi, eax
jmp 0x10049973
cmp dword [ebp - 0x54], 0
jne 0x100495b9
mov dword [ebp - 0x14], 0
mov eax, dword [edi]
lea ecx, [ebp - 0x14]
push ecx
push 0x100b9174
push edi
mov byte [ebp - 4], 9
call dword [eax]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x10049aca
mov ecx, dword [eax]
push 3
push 0
push 1
push eax
call dword [ecx + 0x10]
mov esi, eax
test esi, esi
je 0x10049aca
mov ecx, dword [ebp - 0x14]
jmp 0x100494e9
mov esi, dword [ebp + 8]
cmp dword [esi + 0x128], 0
je 0x10049b2f
lea ecx, [esi - 0x10]
call fcn.100482e0
test eax, eax
je 0x10049b1b
push dword [eax + 0xc]
mov ecx, dword [edi]
push dword [eax + 8]
push edi
call dword [ecx + 0xc]
mov ebx, eax
test ebx, ebx
je 0x10049b1b
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
test ecx, ecx
je 0x10049b05
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esi + 0x128]
call fcn.10058d90
mov ebx, eax
test ebx, ebx
jne 0x10049af4
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp - 0x28]
call fcn.1002a760
mov ecx, dword [ebp - 0x28]
push 1
push edi
mov byte [ebp - 4], 0xa
call fcn.100585a0
push dword [ebp - 0x28]
mov ecx, dword [esi + 0x128]
mov edx, ebx
call fcn.1005b280
mov ecx, dword [ebp - 0x28]
mov esi, eax
push ecx
mov byte [ebp - 4], 9
mov edx, dword [ecx]
call dword [edx + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0
test eax, eax
je 0x100494f7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100494f7
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10