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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2e8]
cmp eax, dword [ecx + 8]
jbe 0x5e2eac
sub esp, 0x368
lea edi, [esp + 0x300]
xor eax, eax
call fcn.004630e9
lea edi, [esp + 0x31c]
call fcn.004630dd
lea ecx, [esp + 0x31c]
mov dword [esp + 0x30c], ecx
call fcn.00450380
mov ecx, dword [esp]
mov dword [esp + 0x308], ecx
lea edi, [esp + 0x2e4]
xor eax, eax
call fcn.004630e9
lea edi, [esp + 0x84]
call fcn.004630db
lea ecx, [esp + 0x84]
mov dword [esp + 0x2f0], ecx
call fcn.00450380
mov ecx, dword [esp]
mov dword [esp + 0x2ec], ecx
mov ecx, dword [esp + 0x370]
test ecx, ecx
je 0x5e2381
mov edx, dword [esp + 0x374]
mov ebx, dword [esp + 0x36c]
mov eax, ecx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x40], eax
mov ecx, 0xffffffff
mov dword [esp + 0x38], ecx
mov eax, 0xffffffff
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x28], eax
lea eax, [0x112f52c]
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0x370]
mov ecx, eax
jmp 0x5e240d
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
lea ebx, [ebx + ebx*2]
mov dword [esi + ebx*4], edx
mov dword [esi + ebx*4 + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esi + ebx*4 + 8], eax
add eax, 8
mov edx, dword [esp + 0x374]
mov ebx, dword [esp + 0x36c]
mov edi, dword [esp + 0x370]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2b8], esi
mov ecx, eax
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x370]
add edx, eax
cmp ecx, edx
jae 0x5e288d
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x44], edi
mov dword [esp + 0x20], ecx
cmp esi, 0xf
setae dl
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
seta cl
and ebp, edx
or ecx, ebp
test cl, cl
je 0x5e2482
mov ecx, dword [0x1102320]
mov dword [esp + 0x2d0], ecx
mov edx, dword [0x1102324]
mov dword [esp + 0x5c], edx
mov ebp, dword [ebx + 0x274]
mov dword [esp + 0x50], ebp
mov ebx, dword [ebx + 0x270]
mov dword [esp + 0x2c4], ebx
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
jmp 0x5e2d55
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
sub ecx, edx
mov edx, dword [esp + 0x3c]
sbb edi, edx
cmp ecx, 0x8000000
seta cl
test edi, edi
mov edi, edx
sete dl
xchg ebp, ebx
seta bl
xchg ebp, ebx
and edx, ecx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5e24f4
mov ecx, dword [0x1102318]
mov dword [esp + 0x2cc], ecx
mov edx, dword [0x110231c]
mov dword [esp + 0x58], edx
mov ebp, dword [ebx + 0x274]
mov dword [esp + 0x4c], ebp
mov ebx, dword [ebx + 0x270]
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x74]
jmp 0x5e2be7
movzx ecx, byte [esp + 0x378]
test cl, cl
je 0x5e256a
lea edi, [esp + 0x1c8]
xor eax, eax
call fcn.004630b4
mov ecx, dword [ebx + 0x78]
mov edx, dword [ebx + 0x7c]
lea ebp, [0x6a8c40]
cmp ecx, ebp
jne 0x5e2bba
lea edi, [esp + 0x1c8]
mov esi, edx
call fcn.004633a8
lea edi, [esp + 0xd8]
lea esi, [esp + 0x1c8]
call fcn.004633a8
mov eax, dword [esp + 0xf0]
mov dword [esp], ebx
mov ecx, dword [esp + 0x20]
sub ecx, eax
mov dword [esp + 4], ecx
call fcn.005dffc0
mov eax, dword [esp + 8]
cmp eax, 0xffffffff
jne 0x5e2587
jmp 0x5e2906
mov dword [esp], ebx
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
call fcn.005dffc0
mov eax, dword [esp + 8]
cmp eax, 0xffffffff
je 0x5e29ff
mov dword [esp + 0x34], eax
lea ecx, [0x682a00]
mov dword [esp], ecx
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x2d8], eax
mov ecx, dword [esp + 0x36c]
mov dword [esp], ecx
lea edx, [0x667320]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x34]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 8
call fcn.005e0ce0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5e29c1
mov ecx, dword [esp + 0x2d8]
mov edx, dword [ecx + 4]
test edx, edx
sete bl
mov ebp, dword [ecx]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5e28c5
mov esi, dword [esp + 0x370]
cmp esi, ebp
mov eax, esi
xchg esi, ebx
setbe bl
xchg esi, ebx
test edx, edx
mov edi, ecx
seta cl
and esi, ebx
or esi, ecx
xchg esi, eax
test al, al
xchg esi, eax
je 0x5e2640
mov ecx, dword [esp + 0x20]
cmp ecx, ebp
xchg esi, ebx
setae bl
xchg esi, ebx
and esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x5e2644
jmp 0x5e2944
mov ecx, dword [esp + 0x20]
mov ebx, edx
and edx, 0x80000000
test edx, edx
jbe 0x5e26b2
and ebp, 0x7fffffff
cmp ebp, 0xffff
seta dl
and edx, 1
test dl, dl
je 0x5e2a3d
mov edx, dword [0x11022f0]
mov dword [esp + 0x2c8], edx
mov ebx, dword [0x11022f4]
mov dword [esp + 0x54], ebx
mov ebp, dword [esp + 0x36c]
mov esi, dword [ebp + 0x274]
mov dword [esp + 0x48], esi
mov ecx, dword [ebp + 0x270]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x7c]
jmp 0x5e2a7d
lea eax, [0x67b1c0]
mov dword [esp], eax
lea ecx, [esp + 0x2e4]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebp
call fcn.0040f1e0
movzx eax, byte [esp + 0x14]
test al, al
je 0x5e26ec
mov esi, dword [esp + 0x2c]
add esi, 1
mov ebp, dword [esp + 0x30]
adc ebp, 0
jmp 0x5e2728
mov eax, dword [esp + 0x2d8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea ebx, [0x67b1c0]
mov dword [esp], ebx
lea ebp, [esp + 0x2e4]
mov dword [esp + 4], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
call fcn.0040f350
mov eax, dword [esp + 0x10]
mov byte [eax], 1
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x2d8]
mov ecx, dword [eax]
mov edx, dword [esp + 0x40]
cmp edx, ecx
setb bl
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x44]
cmp eax, edi
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setb bl
xchg esi, ebx
and ebp, ebx
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5e2769
mov eax, edi
mov edx, ecx
jmp 0x5e2775
mov eax, edi
mov edx, ecx
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ecx
mov ebx, dword [esp + 0x38]
cmp ebx, edx
xchg ebp, ebx
seta bl
xchg ebp, ebx
mov esi, dword [esp + 0x3c]
cmp esi, eax
sete cl
xchg edi, ebx
seta bl
xchg edi, ebx
and ebp, ecx
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
jne 0x5e27a8
mov eax, esi
mov edx, ebx
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], ebx
lea edi, [0x67b040]
mov dword [esp], edi
lea edi, [esp + 0x300]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 8], edi
call fcn.0040e550
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x112f780]
test eax, eax
jne 0x5e280c
mov ecx, dword [esp + 0x2d8]
mov dword [edi], ecx
jmp 0x5e281a
mov eax, dword [esp + 0x2d8]
call fcn.00462e70
mov ecx, eax
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 0x24]
lea ebp, [ebx + 1]
mov eax, ecx
mov ecx, dword [esp + 0x28]
cmp ecx, ebp
jb 0x5e283c
mov esi, dword [esp + 0x2b8]
jmp 0x5e23bf
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], eax
lea eax, [0x6883c0]
mov dword [esp], eax
mov edx, dword [esp + 0x2b8]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.0044b8a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ebx, dword [esp + 0x24]
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
jmp 0x5e23bf
mov eax, dword [ebx + 0x2c0]
mov dword [esp], eax
lea eax, [0x6c825f]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x39
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.00521650
mov eax, dword [esp + 0x2b8]
mov dword [esp + 0x37c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x384], eax
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
mov dword [esp], ecx
call fcn.004090c0
mov eax, dword [esp + 4]
lea ecx, [0x6783e0]
mov dword [esp + 0x2dc], ecx
mov dword [esp + 0x2e0], eax
mov eax, dword [esp + 0x36c]
mov eax, dword [eax + 0x2c0]
mov dword [esp], eax
lea eax, [0x6c9fca]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x5d
lea eax, [esp + 0x2dc]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.00521650
jmp 0x5e28c5
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
jmp 0x5e27b8
lea ecx, [ebp + 1]
mov edx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x36c]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2bc]
mov ebp, dword [esp + 0x60]
cmp ebp, esi
jge 0x5e2ae5
lea edx, [ecx + ebp*8]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp ecx, ebx
jne 0x5e2a5a
mov dword [esp], edx
mov eax, dword [esp + 0x2c8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00402990
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5e2acd
mov eax, dword [esp + 0x370]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x2d8]
jmp 0x5e2a5a
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
cmp ecx, edx
mov eax, dword [esp + 0x370]
mov edi, dword [esp + 0x2d8]
jl 0x5e2bb1
mov ecx, dword [esp + 0x36c]
mov edx, dword [ecx + 0x274]
lea ebx, [edx + 1]
mov ebp, dword [ecx + 0x270]
mov esi, dword [ecx + 0x278]
cmp esi, ebx
jae 0x5e2b73
lea eax, [0x6781e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0044b8a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x36c]
mov dword [ebx + 0x278], edx
mov edx, dword [0x112f780]
test edx, edx
jne 0x5e2b54
mov dword [ebx + 0x270], eax
jmp 0x5e2b5f
lea edi, [ebx + 0x270]
call fcn.00462e70
mov edi, dword [esp + 0x2d8]
mov edx, ecx
mov ebp, eax
mov eax, dword [esp + 0x370]
mov ecx, ebx
lea ebx, [edx + 1]
mov dword [ecx + 0x274], ebx
mov ebx, dword [0x11022f0]
mov esi, dword [0x11022f4]
lea ecx, [ebp + edx*8 + 4]
mov dword [ecx], esi
mov ecx, dword [0x112f780]
lea edx, [ebp + edx*8]
test ecx, ecx
jne 0x5e2ba0
mov dword [edx], ebx
jmp 0x5e2bb1
mov ecx, edi
mov edi, edx
mov ebp, eax
mov eax, ebx
call fcn.00462e70
mov eax, ebp
mov edi, ecx
mov ecx, dword [esp + 0x20]
jmp 0x5e2a3d
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x677aa0]
mov dword [esp + 8], eax
call fcn.00408e20
inc ecx
mov ebx, dword [esp + 0x2c0]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x60]
cmp ecx, ebp
jge 0x5e2c4d
lea ebx, [ebx + ecx*8]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ebp, edx
jne 0x5e2bd0
mov dword [esp], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00402990
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5e2c34
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
jmp 0x5e2bd0
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x4c]
cmp ecx, edx
mov eax, dword [esp + 0x370]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
jl 0x5e2d32
mov ecx, dword [esp + 0x36c]
mov edx, dword [ecx + 0x274]
lea ebx, [edx + 1]
mov ebp, dword [ecx + 0x270]
mov ecx, dword [ecx + 0x278]
cmp ecx, ebx
jae 0x5e2cda
lea eax, [0x6781e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.0044b8a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x36c]
mov dword [ebx + 0x278], edx
mov edx, dword [0x112f780]
test edx, edx
jne 0x5e2cbc
mov dword [ebx + 0x270], eax
jmp 0x5e2cc7
lea edi, [ebx + 0x270]
call fcn.00462e70
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
mov edx, ecx
mov ebp, eax
mov eax, dword [esp + 0x370]
lea ecx, [edx + 1]
mov ebx, dword [esp + 0x36c]
mov dword [ebx + 0x274], ecx
mov ecx, dword [0x1102318]
mov dword [esp + 0x2d4], ecx
mov ebx, dword [0x110231c]
lea ecx, [ebp + edx*8 + 4]
mov dword [ecx], ebx
mov ecx, dword [0x112f780]
lea edx, [ebp + edx*8]
test ecx, ecx
jne 0x5e2d1c
mov ecx, dword [esp + 0x2d4]
mov dword [edx], ecx
jmp 0x5e2d32
mov ecx, edi
mov edi, edx
mov ebx, eax
mov eax, dword [esp + 0x2d4]
call fcn.00462e70
mov eax, ebx
mov edi, ecx
mov ebx, dword [esp + 0x36c]
jmp 0x5e24f4
inc ecx
mov ebx, dword [esp + 0x2c4]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x60]
cmp ecx, ebp
jge 0x5e2dbb
lea ebx, [ebx + ecx*8]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ebp, edx
jne 0x5e2d3e
mov dword [esp], ebx
mov eax, dword [esp + 0x2d0]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00402990
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5e2da2
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
jmp 0x5e2d3e
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x50]
cmp ecx, edx
mov eax, dword [esp + 0x370]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
jl 0x5e2ea0
mov ecx, dword [esp + 0x36c]
mov edx, dword [ecx + 0x274]
lea ebx, [edx + 1]
mov ebp, dword [ecx + 0x270]
mov ecx, dword [ecx + 0x278]
cmp ecx, ebx
jae 0x5e2e48
lea eax, [0x6781e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.0044b8a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x36c]
mov dword [ebx + 0x278], edx
mov edx, dword [0x112f780]
test edx, edx
jne 0x5e2e2a
mov dword [ebx + 0x270], eax
jmp 0x5e2e35
lea edi, [ebx + 0x270]
call fcn.00462e70
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
mov edx, ecx
mov ebp, eax
mov eax, dword [esp + 0x370]
lea ecx, [edx + 1]
mov ebx, dword [esp + 0x36c]
mov dword [ebx + 0x274], ecx
mov ecx, dword [0x1102320]
mov dword [esp + 0x2d4], ecx
mov ebx, dword [0x1102324]
lea ecx, [ebp + edx*8 + 4]
mov dword [ecx], ebx
mov ecx, dword [0x112f780]
lea edx, [ebp + edx*8]
test ecx, ecx
jne 0x5e2e8a
mov ecx, dword [esp + 0x2d4]
mov dword [edx], ecx
jmp 0x5e2ea0
mov ecx, edi
mov edi, edx
mov ebx, eax
mov eax, dword [esp + 0x2d4]
call fcn.00462e70
mov eax, ebx
mov edi, ecx
mov ebx, dword [esp + 0x36c]
jmp 0x5e2482
call fcn.00461a60
jmp fcn.005e2290