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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10066417
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc8
cmp byte [ebp + 0x10], 0
push ebx
push esi
push edi
mov esi, edx
mov dword [esp + 0x34], ecx
je 0x100454b2
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
je 0x100454aa
xor eax, eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x10]
push eax
push 0x1000
call fcn.100400b9
xor edi, edi
mov esi, 0x19c5
mov dword [esp + 0xdc], edi
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x38]
push dword [esp + 0x38]
sar eax, 1
push eax
push esi
push 0x116d
call fcn.10024ebc
pop ecx
pop ecx
call eax
push dword [esp + 0x38]
lea ecx, [esp + 0x70]
call fcn.100038bb
push 0x1861
mov byte [esp + 0xe0], 1
call fcn.1003fcdd
cmp dword [esp + 0x84], 8
pop ecx
movzx edx, ax
lea ecx, [esp + 0x6c]
cmovae ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x44], edx
cmp word [ecx + eax*2 - 2], dx
je 0x1004503e
push 1
push ecx
lea eax, [esp + 0x74]
push eax
lea edx, [esp + 0x50]
call fcn.1004445b
add esp, 0xc
lea eax, [esp + 0x6c]
mov edx, 0x4f9b
push eax
push 1
push ecx
push ecx
call fcn.100445d4
add esp, 0x10
lea eax, [esp + 0x6c]
cmp dword [esp + 0x80], 8
cmovae eax, dword [esp + 0x6c]
push edi
push eax
push esi
push 0x121f
call fcn.10024ebc
pop ecx
pop ecx
call eax
push 0x3335
lea eax, [esp + 0x48]
mov edx, 0x4f56
push eax
push 0x7e35
lea eax, [esp + 0x78]
mov cl, 1
push eax
push 1
call fcn.10044c06
add esp, 0x14
mov dword [esp + 0x10], edi
lea eax, [esp + 0x10]
push 1
push eax
push 0x6728
push ecx
push ebx
push ecx
push ecx
mov ecx, 0x72da
call fcn.10044c4b
add esp, 0x1c
mov dword [esp + 0x1c], 0x3ba01
xor eax, eax
mov dword [esp + 0x20], 0x143a02
mov dword [esp + 0x18], eax
mov word [esp + 0x24], 0x24b
mov byte [esp + 0x26], 0x56
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x88]
call fcn.10003893
push 0x10
pop edx
lea ecx, [esp + 0xb8]
mov byte [esp + 0xdc], 2
call fcn.1000afff
push 1
push 0x3abb
lea eax, [esp + 0x8c]
mov byte [esp + 0xe4], 3
push eax
lea eax, [esp + 0xc4]
push eax
push ecx
push ecx
mov ecx, 0x3d58
call fcn.10044d60
add esp, 0x18
xor edi, edi
mov ecx, edi
push 0x65
pop eax
push 2
mov word [esp + 0x4e], ax
pop esi
cmp esi, 4
jne 0x10045150
push 3
pop ecx
push 5
pop esi
jmp 0x10045179
movzx edx, byte [esp + esi + 0x1d]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x1a]
movzx ecx, word [esp + eax*2 + 0x48]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [esp + esi + 0x1c]
add ecx, edx
mov word [esp + eax*2 + 0x48], cx
mov ecx, edi
add esi, 2
cmp esi, 0xb
jb 0x10045143
xor eax, eax
mov dword [esp + 0x68], 7
mov word [esp + 0x50], ax
lea ecx, [esp + 0x54]
mov word [esp + 0x54], ax
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x68], edi
call fcn.10003d6e
push ecx
push ecx
lea eax, [esp + 0x5c]
mov byte [esp + 0xe4], 4
push eax
lea ecx, [esp + 0x90]
call fcn.10005fb7
push edi
push 1
lea ecx, [esp + 0x5c]
mov byte [esp + 0xe4], 3
call fcn.1000418d
xor eax, eax
lea edi, [esp + 0x48]
cmp dword [esp + 0x98], 8
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x84]
cmovae eax, dword [esp + 0x84]
xor edi, edi
push edi
push 0x80
push 2
push edi
push edi
push 0x40000000
push eax
push 0x19c5
push 0x1383
call fcn.10024ebc
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x10045266
push edi
lea eax, [esp + 0xb8]
push eax
push dword [esp + 0x18]
push dword [ebx]
push esi
push 0x19c5
push 0xf57
call fcn.10024ebc
pop ecx
pop ecx
call eax
push esi
test eax, eax
push 0x19c5
push 0xbdd
setne bl
call fcn.10024ebc
pop ecx
pop ecx
call eax
test bl, bl
jne 0x100452c7
mov ebx, dword [ebp + 0x14]
push edi
push 1
lea ecx, [esp + 0xc0]
call fcn.1000418d
push edi
push 1
lea ecx, [esp + 0x8c]
mov byte [esp + 0xe4], 1
call fcn.1000418d
mov edi, dword [esp + 0x18]
inc edi
mov dword [esp + 0x18], edi
cmp edi, 0x12c
jb 0x100450de
mov ecx, dword [esp + 0x34]
xor ebx, ebx
mov dword [ecx], 2
push ebx
push 1
lea ecx, [esp + 0x74]
call fcn.1000418d
lea ecx, [esp + 0x38]
call fcn.1000a2cb
jmp 0x100454e0
push 0x22
pop edi
xor ebx, ebx
mov dword [esp + 0x10], 0x6d02e100
push 2
mov byte [esp + 0x18], 0x5d
mov ecx, ebx
mov word [esp + 0x1c], di
pop esi
cmp esi, 2
jne 0x100452ef
push 3
pop ecx
push ecx
pop esi
jmp 0x10045318
movzx edx, byte [esp + esi + 0x11]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0xe]
movzx ecx, word [esp + eax*2 + 0x18]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [esp + esi + 0x10]
add ecx, edx
mov word [esp + eax*2 + 0x18], cx
mov ecx, ebx
add esi, 2
cmp esi, 5
jb 0x100452e3
xor eax, eax
mov dword [esp + 0x68], 7
mov word [esp + 0x1a], ax
lea ecx, [esp + 0x54]
mov word [esp + 0x54], ax
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x68], ebx
call fcn.10003d6e
push 0x4f99
push ecx
push 1
lea eax, [esp + 0x90]
mov byte [esp + 0xe8], 5
push eax
push 0x6c9b
push ecx
lea eax, [esp + 0x6c]
mov dword [esp + 0x30], ebx
push eax
sub esp, 0x14
call fcn.10044dbf
add esp, 0x30
mov dword [esp + 0x28], 0xca01a900
mov ecx, ebx
mov dword [esp + 0x2c], 0x7c030d02
mov word [esp + 0x30], 0x7301
mov word [esp + 0x1c], di
push 2
pop esi
mov dword [esp + 0x10], ecx
cmp esi, 2
jne 0x100453aa
push esi
pop ecx
mov dword [esp + 0x10], ecx
jmp 0x100453f2
movzx edx, byte [esp + esi + 0x29]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x26]
movzx ecx, word [esp + eax*2 + 0x1c]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [esp + esi + 0x28]
add ecx, edx
mov edx, 0x18d6
push ecx
push 0x666d
mov word [esp + eax*2 + 0x24], cx
lea eax, [esp + 0x18]
push eax
mov ecx, 0x6441
call fcn.10045586
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add esi, 2
cmp esi, 0xa
jb 0x1004539d
xor eax, eax
mov dword [esp + 0xb0], 7
mov word [esp + 0x24], ax
lea ecx, [esp + 0x9c]
mov word [esp + 0x9c], ax
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0xb0], ebx
call fcn.10003d6e
push ecx
push ecx
lea eax, [esp + 0xa4]
mov byte [esp + 0xe4], 6
push eax
lea ecx, [esp + 0x60]
call fcn.10005fb7
push ebx
push 1
lea ecx, [esp + 0xa4]
mov byte [esp + 0xe4], 5
call fcn.1000418d
xor eax, eax
lea edi, [esp + 0x1c]
stosd dword es:[edi], eax
lea edx, [esp + 0x6c]
lea ecx, [esp + 0x54]
stosd dword es:[edi], eax
stosw word es:[edi], ax
call fcn.100435bc
mov ecx, dword [esp + 0x34]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [esp + 0x5c]
call fcn.1000418d
push ebx
push 1
lea ecx, [esp + 0xc0]
call fcn.1000418d
push ebx
push 1
lea ecx, [esp + 0x8c]
call fcn.1000418d
jmp 0x100452ad
mov dword [ecx], 1
jmp 0x100454e0
mov eax, dword [ebp + 0xc]
mov ecx, esi
push 0xffffffffffffffff
push dword [eax]
lea eax, [esp + 0xc0]
push eax
call fcn.10045a1d
push eax
mov ecx, esi
call fcn.1003fd03
push 0
push 1
lea ecx, [esp + 0xc0]
call fcn.1000418d
mov ecx, dword [esp + 0xd4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret