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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x583394
sub esp, 0x70
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0xc]
lea ebp, [ebx + ecx]
mov dword [esp + 0x40], ebp
mov esi, dword [eax + 8]
mov edi, dword [eax]
mov edx, dword [edx + 8]
cmp ebp, esi
ja 0x583349
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], edi
lea eax, [edi + ecx]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00450c70
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x78]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [0x823e50]
test eax, eax
jne 0x58333b
mov edx, dword [esp + 0x44]
mov dword [edi], edx
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x10]
test ebx, 7
je 0x583334
test ebx, 0x20
je 0x58332d
mov eax, edi
lea edi, [esp + 0x48]
lea esi, [esp + 0x7c]
call fcn.00450a4e
nop
nop
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov ebp, ebx
shr ebx, 0x1f
shl ebx, 0x1f
test ebx, ebx
je 0x582c83
mov ebx, ecx
shr ecx, 0x1f
shl ebp, 1
or ebp, ecx
mov ecx, ebp
shl ebp, 1
shl ebx, 1
shr ebx, 0x1f
or ebx, ebp
mov ebp, ebx
add ebx, 0xd7b17f80
mov dword [esp + 0x50], ebx
shr ecx, 0x1f
add ebp, 0xd7b17f80
adc ecx, 0xd
mov dword [esp + 0x54], ecx
and dword [esp + 0x48], 0x3fffffff
mov dword [esp + 0x4c], 0
mov dword [esp + 0x58], 0
lea edi, [esp + 0x7c]
lea esi, [esp + 0x48]
call fcn.00450a4e
mov ebx, dword [edx + 0x10]
test ebx, 1
jne 0x58316d
mov ebx, dword [edx + 0x10]
test ebx, 6
jne 0x582ee8
mov edx, dword [edx + 0x10]
test edx, 0x18
je 0x582ddc
test edx, 0x10
je 0x582ed5
mov ecx, dword [esp + 0x94]
lea edx, [ecx - 1]
mov ebx, dword [esp + 0x90]
jmp 0x582ce5
dec edx
test edx, edx
jle 0x582ecc
cmp edx, ecx
jae 0x58338c
movzx ebp, byte [ebx + edx]
xchg ebp, eax
cmp al, 0x2f
xchg ebp, eax
jne 0x582ce4
inc edx
sub ecx, edx
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, edx
add ecx, ebx
mov dword [esp + 0x94], ebp
mov edx, dword [eax + 4]
mov dword [esp + 0x40], edx
lea ebx, [ebp + edx]
mov dword [esp + 0x3c], ebx
mov esi, dword [eax + 8]
mov edi, dword [eax]
cmp ebx, esi
ja 0x582e88
mov dword [esp + 0x44], edi
mov dword [esp + 0x38], esi
lea eax, [edi + edx]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00450c70
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x78]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x38]
mov dword [edi + 8], ecx
mov edx, dword [0x823e50]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x40]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x582e72
mov edx, dword [esp + 0x44]
mov dword [edi], edx
cmp ebx, ecx
ja 0x582e25
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
mov dword [esp], edi
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xffffffff
call fcn.00582a10
mov edi, dword [esp + 0x78]
mov eax, dword [edi + 4]
lea ecx, [eax + 2]
mov edx, dword [edi + 8]
mov ebx, dword [edi]
cmp ecx, edx
ja 0x582de9
mov ebp, 0x203a
mov word [ebx + eax], bp
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov ecx, dword [0x823e50]
test ecx, ecx
jne 0x582de0
mov dword [edi], ebx
add esp, 0x70
ret
mov eax, ebx
call fcn.004502e0
jmp 0x582ddc
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
lea ebp, [0x607920]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.0043bce0
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x78]
jmp 0x582dc1
lea ebp, [0x607920]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.0043bce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x823e50]
test edx, edx
jne 0x582e6b
mov dword [edi], eax
mov edx, eax
mov eax, ecx
jmp 0x582d89
call fcn.004502e0
jmp 0x582e62
mov edx, eax
mov eax, dword [esp + 0x44]
call fcn.004502e0
mov eax, edx
mov edx, dword [esp + 0x44]
jmp 0x582d81
mov dword [esp + 0x90], ecx
lea eax, [0x607920]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043bce0
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x94]
jmp 0x582d31
mov ebp, ecx
mov ecx, ebx
jmp 0x582d0e
mov ebp, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
jmp 0x582d0e
mov edi, esp
lea esi, [esp + 0x7c]
call fcn.00450a4e
call fcn.00476ff0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.00582a10
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x583120
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x3a
mov dword [esp], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00582a10
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x5830d3
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x3a
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00582a10
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x10]
test ecx, 4
jne 0x58301f
mov edx, dword [esp + 0x78]
mov ebx, dword [edx + 4]
lea ebp, [ebx + 1]
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x582fcf
lea ebp, [ebx + 1]
mov dword [edx + 4], ebp
mov byte [esi + ebx], 0x20
mov edx, eax
mov eax, dword [esp + 0x78]
jmp 0x582cb6
lea eax, [0x607920]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.0043bce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x823e50]
test edx, edx
jne 0x583018
mov dword [edi], eax
mov edx, edi
mov ebx, ecx
mov esi, eax
mov eax, dword [esp + 0x74]
jmp 0x582fba
call fcn.004502e0
jmp 0x58300c
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 4]
lea ebx, [edx + 1]
mov ebp, dword [ecx + 8]
mov esi, ecx
mov ecx, dword [ecx]
cmp ebx, ebp
ja 0x583084
lea ebx, [edx + 1]
mov dword [esi + 4], ebx
mov byte [ecx + edx], 0x2e
lea edi, [esp + 0x5c]
mov eax, esi
lea esi, [esp + 0x7c]
call fcn.00450a4e
nop
mov ecx, dword [esp + 0x5c]
mov dword [esp], eax
and ecx, 0x3fffffff
mov eax, 0x4189374c
imul ecx
sar ecx, 0x1f
sar edx, 8
sub edx, ecx
mov dword [esp + 4], edx
mov dword [esp + 8], 6
call fcn.00582a10
mov eax, dword [esp + 0x74]
jmp 0x582fa7
lea eax, [0x607920]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.0043bce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x823e50]
test edx, edx
jne 0x5830cc
mov dword [edi], eax
mov esi, edi
mov edx, ecx
mov ecx, eax
jmp 0x583034
call fcn.004502e0
jmp 0x5830c1
lea eax, [0x607920]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043bce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x823e50]
test edx, edx
jne 0x583119
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x582f75
call fcn.004502e0
jmp 0x583110
lea eax, [0x607920]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043bce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x823e50]
test edx, edx
jne 0x583166
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x582f3b
call fcn.004502e0
jmp 0x58315d
nop
mov edi, esp
lea esi, [esp + 0x7c]
call fcn.00450a4e
mov byte [esp + 0x14], 1
call fcn.00477f40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
call fcn.00582a10
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x5832e0
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x2f
mov dword [esp], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00582a10
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp edx, ebp
ja 0x583293
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x2f
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00582a10
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x583249
lea ebx, [ecx + 1]
mov dword [eax + 4], ebx
mov byte [ebp + ecx], 0x20
mov edx, dword [esp + 0x74]
jmp 0x582ca7
lea eax, [0x607920]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043bce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x823e50]
test edx, edx
jne 0x58328c
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x583235
call fcn.004502e0
jmp 0x583286
lea eax, [0x607920]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.0043bce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x823e50]
test edx, edx
jne 0x5832d9
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x583200
call fcn.004502e0
jmp 0x5832d0
lea eax, [0x607920]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043bce0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x823e50]
test edx, edx
jne 0x583326
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x5831c6
call fcn.004502e0
jmp 0x58331d
mov eax, edi
jmp 0x582c98
mov eax, edi
jmp 0x582cb6
mov eax, dword [esp + 0x44]
call fcn.004502e0
jmp 0x582bff
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], ebx
lea eax, [0x607920]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.0043bce0
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
jmp 0x582bbe
mov eax, edx
call fcn.00450360
nop
call fcn.0044eaa0
jmp fcn.00582b80