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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100892bb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd8
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x5c], edx
xor ebx, ebx
push edi
cmp dword [esi + 0x10], ebx
jne 0x1004cba1
xor al, al
jmp 0x1004d326
mov dword [esp + 0x20], 0x841b3c69
xor eax, eax
mov dword [esp + 0x14], 0x9d585ed0
inc eax
mov dword [esp + 0x14], eax
or edi, 0xffffffff
mov dword [esp + 0x14], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x9c], edi
mov dword [esp + 0x78], 0x563ade4
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], bl
je 0x1004cbf2
push ebx
push 0x3a3c
push 0x6c77
call fcn.1004d379
xor eax, eax
add esp, 0xc
inc eax
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], 5
jne 0x1004ce55
jmp 0x1004cc06
xor eax, eax
inc eax
mov dword [esp + 0x3c], 0x579253a3
lea ecx, [esp + 0x80]
mov dword [esp + 0x24], 4
push eax
call fcn.100280d9
mov dword [esp + 0xec], ebx
mov dword [esp + 0x18], 0xbc3fa0e8
mov dword [esp + 0x10], ebx
jmp 0x1004cc4e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x80]
mov dword [eax + ecx*4], 0xe434392f
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1004cc38
mov eax, dword [esp + 0x20]
xor edx, edx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp ecx, eax
mov eax, dword [esp + 0x20]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x80]
setne cl
mov dword [eax], ecx
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
neg ecx
sbb ecx, ecx
neg ecx
sub ecx, eax
sub ecx, 0x534a2c93
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x14], ecx
je 0x1004ccd9
cmp dword [esp + 0x3c], ebx
je 0x1004ccd9
xor eax, eax
inc eax
jmp 0x1004ccdb
mov eax, ebx
xor edx, edx
cmp eax, 0x39d3cd36
mov eax, dword [esp + 0x3c]
sete dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [esp + 0x70], ecx
mov dword [esp + 0x24], ebx
jmp 0x1004ce28
lea eax, [esp + 0x3c]
mov dword [esp + 0x94], 0xbd6cd538
push eax
lea eax, [esp + 0x74]
mov dword [esp + 0xa8], edi
push eax
lea eax, [esp + 0x80]
mov dword [esp + 0xa8], 0xcffae3c
push eax
lea eax, [esp + 0x50]
mov dword [esp + 0x88], 0x57f0
push eax
push ebx
lea eax, [esp + 0x38]
mov dword [esp + 0x58], 1
push eax
lea eax, [esp + 0x94]
mov dword [esp + 0x30], 0xfffffffb
push eax
lea eax, [esp + 0xbc]
push eax
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0xd0]
push eax
call fcn.10050851
add esp, 0x30
mov dword [esp + 0x44], 0x17
jmp 0x1004ce19
mov dword [esp + 0x10], 0x503a
xor edx, edx
dec dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x78]
add ecx, 0xffff8eaf
add eax, ecx
mov ecx, dword [esp + 0x14]
add ecx, eax
mov eax, dword [esp + 0x10]
cmp ecx, eax
setge dl
cmp edi, edx
sbb eax, eax
inc eax
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x7c]
sub edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [esp + 0x80]
sete cl
cmp dword [eax], ecx
jne 0x1004ce02
cmp dword [esp + 0x10], ebx
jne 0x1004ce02
mov eax, ebx
jmp 0x1004ce05
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
mov edx, 0x4372
xor cl, cl
call fcn.1004c6e1
dec dword [esp + 0x44]
cmp dword [esp + 0x44], 0xffffffee
jg 0x1004cd97
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 0x1b
jge 0x1004ccfd
lea ecx, [esp + 0x80]
mov dword [esp + 0xec], edi
call fcn.1002815b
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 5
je 0x1004cc03
lea eax, [esp + 0x60]
push ebx
push eax
call fcn.100506f6
pop ecx
pop ecx
push 8
pop eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], 0xe58b
mov dword [esp + 0x74], ebx
mov dword [esp + 0x28], 0xa4ccfd66
mov dword [esp + 0x34], 0x4a938f73
cmp dword [esp + 0x4c], ebx
je 0x1004cf0a
mov dword [esp + 0x18], 0xfff7
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
jmp 0x1004ceb0
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xd4], 0xfffffffa
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1004ce9d
mov eax, dword [esp + 0x4c]
xor edx, edx
mov eax, dword [esp + 0x74]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x4c]
cmp eax, ecx
mov ecx, dword [esp + 0x18]
setge dl
xor eax, eax
imul ecx, edx
cmp ecx, 0xa17d
mov dword [esp + 0xd8], ecx
setl al
xor ecx, ecx
cmp eax, 0x5ba1
setge cl
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], eax
jmp 0x1004cf8f
mov dword [esp + 0x98], eax
mov dword [esp + 0x8c], 0x5b01d976
mov dword [esp + 0xa8], 2
mov dword [esp + 0x28], ebx
jmp 0x1004cf88
lea eax, [esp + 0x28]
mov dword [esp + 0x90], 0x8be
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0xa8]
push eax
push ebx
call fcn.1004d3e2
add esp, 0x24
mov byte [esp + 0x3b], bl
lea edx, [esp + 0x3b]
mov cl, 1
call fcn.1004c6e1
dec dword [esp + 0x28]
cmp dword [esp + 0x28], 0xfffffffa
jl 0x1004cf2d
mov dword [esp + 0x34], 0x15
jmp 0x1004cfdd
mov dword [esp + 0x18], 0xf908
cmp dword [esp + 0x18], ebx
jne 0x1004cfe4
mov dword [esp + 0x18], 0xfffffff7
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x34], ebx
jne 0x1004cfd9
lea eax, [esp + 0x3a]
mov byte [esp + 0x3a], bl
push eax
push ebx
push 0x7913
push 0x1276
call fcn.1004fe32
add esp, 0x10
dec dword [esp + 0x34]
cmp dword [esp + 0x34], 9
jg 0x1004cf99
cmp dword [esi + 0x14], 0x10
jb 0x1004cfee
mov ecx, dword [esi]
jmp 0x1004cff0
mov ecx, esi
mov edi, 0x20b5
cmp dword [esi + 0x14], 0x10
mov dword [esp + 0x50], ecx
jb 0x1004d003
mov edx, dword [esi]
jmp 0x1004d005
mov edx, esi
mov eax, dword [esi + 0x10]
add eax, edx
cmp ecx, eax
je 0x1004d1d1
mov dword [esp + 0x18], 0xb0ad8ea5
lea ecx, [esp + 0xbc]
push 1
call fcn.100280d9
xor eax, eax
inc eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x40], ebx
jmp 0x1004d068
mov eax, dword [esp + 0x40]
mov dword [esp + eax*4 + 0x64], 0x236432a2
inc dword [esp + 0x40]
cmp dword [esp + 0x40], 3
jl 0x1004d058
push ebx
lea eax, [esp + 0xc0]
push eax
push 0x6efd
lea eax, [esp + 0x4c]
push eax
push 0x5df8
call fcn.1005050b
add esp, 0x14
push ebx
push 0x429a
call fcn.10050478
mov eax, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x6c], 0xfffb
mov edx, dword [esp + 0x74]
sbb eax, eax
inc eax
imul edx, eax
mov eax, dword [esp + 0x74]
pop ecx
pop ecx
sub edx, 0xfffffff9
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
sete cl
xor edx, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xbc]
mov dword [eax], ecx
mov eax, dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb4]
cmp ecx, eax
mov eax, dword [esp + 0x6c]
setl dl
xor ecx, ecx
cmp edx, 1
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x64]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [esp + 0x68]
setle bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [esp + 0x6c]
setle cl
sub eax, ecx
lea ecx, [esp + 0xbc]
mov dword [esp + 0x18], eax
or dword [esp + 0xec], 0xffffffff
call fcn.1002815b
mov eax, dword [esp + 0x50]
mov al, byte [eax]
cmp al, 0x30
jl 0x1004d175
cmp al, 0x39
jg 0x1004d175
xor ebx, ebx
lea eax, [esp + 0x60]
push ebx
push eax
push 0x78af
lea eax, [esp + 0x5c]
push eax
push 0x69d0
call fcn.1004f9e2
mov ecx, dword [esp + 0x64]
add esp, 0x14
inc ecx
jmp 0x1004cff5
xor ebx, ebx
mov dword [esp + 0x14], 3
mov dword [esp + 0x10], ebx
jmp 0x1004d198
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xdc], 0xa8f93905
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1004d185
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], ebx
jl 0x1004d1c6
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], bl
je 0x1004d1c0
push ebx
push 0x1ff6
call fcn.1004f922
pop ecx
pop ecx
dec dword [esp + 0x14]
jns 0x1004d1a9
mov eax, dword [esp + 0x60]
mov dword [eax], ebx
jmp 0x1004cb9a
push 4
lea ecx, [esp + 0x58]
call fcn.100280d9
mov dword [esp + 0xec], 2
mov dword [esp + 0x10], 0xfffffffe
mov dword [esp + 0x48], ebx
jmp 0x1004d205
mov eax, dword [esp + 0x48]
mov dword [esp + eax*4 + 0x2c], 0x39b
inc dword [esp + 0x48]
cmp dword [esp + 0x48], 1
jl 0x1004d1f5
push 0x3471
lea eax, [esp + 0x58]
push eax
push 0x24a4
lea eax, [esp + 0x54]
push ebx
push eax
call fcn.1004d800
mov eax, dword [esp + 0x68]
add esp, 0x14
mov dword [eax], ebx
jmp 0x1004d2ed
push 3
lea ecx, [esp + 0xcc]
call fcn.100280d9
mov byte [esp + 0xec], 3
mov dword [esp + 0x10], ebx
jmp 0x1004d266
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc8]
mov dword [eax + ecx*4], 0xb9193c1d
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1004d250
mov eax, dword [esp + 0x54]
push ebx
push 0x2376
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x34]
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x34]
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x34]
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x34]
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x34]
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x34]
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x34]
mov eax, dword [esp + 0xd0]
mov dword [eax], ebx
lea eax, [esp + 0x3b]
push eax
mov byte [esp + 0x3f], bl
call fcn.100505b2
add esp, 0xc
mov byte [esp + 0xec], 2
lea ecx, [esp + 0xc8]
call fcn.1002815b
mov eax, dword [esp + 0x54]
dec dword [eax]
mov eax, dword [esp + 0x54]
cmp dword [eax], ebx
jge 0x1004d234
mov dword [esp + 0x10], ebx
jmp 0x1004d314
lea eax, [esp + 0x39]
mov byte [esp + 0x39], bl
push ebx
push eax
call fcn.100504bd
dec dword [esp + 0x18]
pop ecx
pop ecx
cmp dword [esp + 0x10], 0xffffffe4
jg 0x1004d2ff
lea ecx, [esp + 0x54]
call fcn.1002815b
mov al, 1
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret