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

Disassembly:
mov ecx, dword [0x7f7460]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x582512
sub esp, 0xf8
mov eax, dword [esp + 0x104]
test eax, eax
je 0x581f3f
mov ecx, eax
and eax, 0x1f
mov dword [esp + 0x4c], eax
nop
cmp eax, 0x14
jne 0x58151c
test ecx, 0x200
jne 0x5814d3
lea edx, [0x66ad64]
mov ebx, dword [esp + 0xfc]
jmp 0x5814fd
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov edx, dword [esp + 0x100]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ebx, ecx
mov eax, dword [edx + 0x6c]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 4]
test eax, eax
je 0x581ebb
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
cmp eax, 0x17
jne 0x581532
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 4]
test ebx, ebx
sete bl
jmp 0x58153b
mov edx, dword [esp + 0x100]
xor ebx, ebx
test bl, bl
je 0x58159c
movzx ebx, byte [esp + 0x11d]
test bl, bl
je 0x58159c
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x66a3dc]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
movzx ebx, byte [esp + 0x108]
test bl, bl
je 0x581752
mov ebx, dword [esp + 0x10c]
test ebx, ebx
je 0x581752
lea ebx, [eax - 2]
cmp ebx, 4
ja 0x581752
test ecx, 0x200
jne 0x5815de
lea ebx, [0x66ad64]
mov ebp, dword [esp + 0xfc]
jmp 0x581601
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov ebp, ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0049a780
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00497b80
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x48], edx
mov ebx, dword [esp + 0x10c]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebp
call fcn.004996b0
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x104]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004983b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004983b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00492760
movzx eax, byte [esp + 0x10]
test al, al
jne 0x581701
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jmp 0x581752
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x66a3dc]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
movzx ebx, byte [esp + 0x108]
test bl, bl
je 0x5818a4
mov ebx, dword [esp + 0x10c]
test ebx, ebx
jne 0x5818a4
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.004983b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x104]
test edx, 0x200
jne 0x5817bb
lea ebx, [0x66ad64]
mov ebp, dword [esp + 0xfc]
jmp 0x5817e5
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov ebp, ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0049a6a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004983b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00492760
movzx eax, byte [esp + 0x10]
test al, al
jne 0x581853
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jmp 0x5818a4
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x66a3dc]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
test ecx, 0x200
jne 0x5818bb
lea ebx, [0x66ad64]
mov ebp, dword [esp + 0xfc]
jmp 0x5818f0
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov ebx, eax
mov ebp, ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
cmp dword [0x7cc728], ebx
je 0x581900
test ecx, 0x200
jmp 0x581941
mov eax, dword [0x7cc72c]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00404250
movzx eax, byte [esp + 0xc]
test al, al
jne 0x581cbf
mov eax, dword [esp + 0x104]
test eax, 0x200
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jne 0x581952
lea ebx, [0x66ad64]
mov ebp, dword [esp + 0xfc]
jmp 0x581975
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov ebp, ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0057d870
movzx eax, byte [esp + 0x11]
movzx ecx, byte [esp + 0x10]
test al, al
je 0x581bc2
movzx eax, byte [esp + 8]
test al, al
jne 0x581bb4
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x581a18
cmp edx, 0x17
je 0x581a18
lea eax, [0x62af0c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0x2b
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], 0x2b
call fcn.00409cd0
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x66a0d4]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov byte [esp + 0x37], cl
mov ebx, dword [esp + 0x114]
test ebx, ebx
je 0x581a8e
cmp edx, 0x13
jne 0x581a30
test ebx, ebx
jmp 0x581a95
lea eax, [0x62bf36]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], 0x2f
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 0x2f
call fcn.00409cd0
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x66a0d4]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
cmp edx, 0x13
jne 0x581afe
test ebx, ebx
jne 0x5823a1
mov eax, dword [esp + 0x4c]
cmp eax, 0x18
jne 0x581ab2
mov edx, dword [esp + 0x100]
mov ebx, dword [edx]
mov ebp, dword [edx + 4]
jmp 0x581aef
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x104]
mov dword [esp + 8], edx
call fcn.00499c50
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
movzx ecx, byte [esp + 0x37]
mov edx, dword [esp + 0x100]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x38], ebp
xor esi, esi
jmp 0x5823ad
cmp edx, 0x17
jne 0x581bad
cmp eax, 0x18
je 0x581b94
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x104]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004983b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.0046754b
mov eax, dword [esp + 0x68]
lea ecx, [0x618bc0]
cmp eax, ecx
jne 0x58238b
lea edi, [esp + 0x9c]
call fcn.00467a2e
lea edi, [esp]
lea esi, [esp + 0x9c]
call fcn.00467a2e
call fcn.0057f3e0
movzx eax, byte [esp + 0x14]
test al, al
je 0x581b9e
movzx ecx, byte [esp + 0x37]
mov eax, 0x18
jmp 0x581fb6
movzx ecx, byte [esp + 0x37]
mov eax, 0x17
jmp 0x581fb6
mov eax, edx
jmp 0x581fb6
mov eax, dword [esp + 0x104]
test eax, 0x200
jmp 0x581bce
mov eax, dword [esp + 0x104]
test eax, 0x200
jne 0x581bdf
lea eax, [0x66ad64]
mov ecx, dword [esp + 0xfc]
jmp 0x581c05
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00499d30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
test eax, eax
je 0x581c22
mov eax, dword [eax + 4]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
lea eax, [0x6216c8]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x94]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bbd20
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409cd0
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x66a0d4]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004983b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0xd4]
xor eax, eax
call fcn.00467547
mov eax, dword [esp + 0x68]
lea ecx, [0x608840]
cmp eax, ecx
jne 0x581fa0
lea edi, [esp + 0xd4]
call fcn.00467a06
lea edi, [esp + 0xb0]
lea esi, [esp + 0xd4]
call fcn.00467a06
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x581e68
lea eax, [0x603a00]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xc0]
movzx ebp, byte [esp + 0xb8]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
xchg ebp, eax
mov byte [esp + 0x18], al
xchg ebp, eax
call fcn.0057e980
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x66a3dc]
mov edx, dword [esp + 0x5c]
mov dword [edx + 8], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x581de4
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x66a3dc]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x581e34
call fcn.004672b0
mov dword [edi], eax
mov ecx, dword [edx + 0x14]
mov dword [edi + 4], ecx
mov dword [edx + 0x14], eax
lea eax, [0x66a3f4]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xd0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x66a3dc]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
call fcn.00497b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea edi, [esp + 0xc]
lea esi, [esp + 0x108]
call fcn.00467a24
call fcn.00581480
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], ebx
add esp, 0xf8
ret
lea eax, [0x626d69]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.004b9150
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0xf8
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x5efca0]
mov dword [esp + 8], eax
call fcn.00409960
movzx edx, byte [esp + 0x11c]
test dl, dl
je 0x582029
cmp eax, 0x10
jne 0x581fce
mov eax, 0x11
jmp 0x582029
lea eax, [0x6250c8]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0x1a
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], 0x1a
call fcn.00409cd0
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x66a0d4]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov dword [esp + 0x3c], eax
cmp eax, 0x11
jne 0x58203e
test dl, dl
jne 0x58203e
mov byte [esp + 0x11c], 1
lea eax, [0x603a00]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 8], ecx
lea edi, [esp + 0xc]
lea esi, [esp + 0x108]
call fcn.00467a24
call fcn.00580060
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x58]
mov dword [esi + 0x10], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5820bb
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [esi + 0x14]
mov dword [edi + 4], eax
mov dword [esi + 0x14], ecx
test edx, edx
jne 0x582360
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 4]
test eax, eax
je 0x5822b1
movzx edx, byte [esp + 0x10a]
test dl, dl
je 0x5820f7
mov edx, 1
jmp 0x58210f
movzx edx, byte [esp + 0x10b]
test dl, dl
je 0x58210a
mov edx, 3
jmp 0x58210f
mov edx, 2
movzx ebx, byte [esp + 0x109]
test bl, bl
jne 0x582122
mov eax, dword [eax]
jmp 0x5822b7
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
movzx edx, byte [esp + 0x37]
mov byte [esp + 0x18], dl
call fcn.0057e980
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x66a3dc]
mov edx, dword [esp + 0x58]
mov dword [edx + 8], ecx
mov ebx, dword [0x7f7690]
test ebx, ebx
je 0x5821a7
call fcn.004672b0
mov dword [edi], eax
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], eax
lea eax, [0x603a00]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
lea ecx, [0x66a3f4]
mov dword [eax + 0x10], ecx
mov edx, dword [0x7f7690]
test edx, edx
jne 0x5821d5
mov edx, dword [esp + 0x58]
jmp 0x5821e0
call fcn.004672a0
mov edx, dword [esp + 0x58]
mov dword [edi], edx
mov dword [esp + 0x54], eax
mov dword [eax + 0x14], edx
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0x14]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x54]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov ebx, dword [esp + 0x40]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
add eax, ecx
mov dword [esp + 0x14], eax
mov byte [esp + 0x18], 1
call fcn.0057e980
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x66a3dc]
mov edx, dword [esp + 0x54]
mov dword [edx + 8], ecx
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x58227d
call fcn.004672b0
mov dword [edi], eax
mov ecx, dword [edx + 0xc]
mov dword [edi + 4], ecx
mov dword [edx + 0xc], eax
lea eax, [0x66a3f4]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
xor edx, edx
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x58]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
movzx eax, byte [esp + 0x37]
mov byte [esp + 0x18], al
call fcn.0057e980
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x66a3dc]
mov edx, dword [esp + 0x58]
mov dword [edx + 8], ecx
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x58232c
call fcn.004672b0
mov dword [edi], eax
mov ecx, dword [edx + 0xc]
mov dword [edi + 4], ecx
mov dword [edx + 0xc], eax
lea eax, [0x66a3f4]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebp
add esp, 0xf8
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x5efca0]
mov dword [esp + 8], eax
call fcn.00409960
mov eax, ebx
jmp 0x581fb6
movzx ecx, byte [esp + 0x37]
cmp esi, ebp
jge 0x582506
movzx edi, byte [ebx + esi]
cmp edi, 0x80
jge 0x5823c4
inc esi
jmp 0x5823f4
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0045f200
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
movzx ecx, byte [esp + 0x37]
mov edx, dword [esp + 0x100]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x38]
cmp edi, 0x80
jge 0x58245a
lea ecx, [edi - 0x61]
cmp cl, 0x19
jbe 0x5823a8
lea ecx, [edi - 0x41]
cmp cl, 0x19
jbe 0x5823a8
lea ecx, [edi - 0x30]
cmp cl, 9
jbe 0x5823a8
lea ecx, [edi - 0x27]
cmp cl, 2
jbe 0x5823a8
lea ecx, [edi - 0x2b]
cmp cl, 4
jbe 0x5823a8
xchg edi, eax
cmp al, 0x20
xchg edi, eax
je 0x5823a8
xchg edi, eax
cmp al, 0x3a
xchg edi, eax
je 0x5823a8
xchg edi, eax
cmp al, 0x3d
xchg edi, eax
je 0x5823a8
xchg edi, eax
cmp al, 0x3f
xchg edi, eax
je 0x5823a8
cmp eax, 0x18
movzx ecx, byte [esp + 0x37]
jmp 0x58245d
cmp eax, 0x18
jne 0x582466
mov eax, dword [edx]
mov ebx, dword [edx + 4]
jmp 0x58248c
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x104]
mov dword [esp + 8], ecx
call fcn.00499c50
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.00473ce0
movzx eax, byte [esp + 8]
test al, al
je 0x5824b4
movzx ecx, byte [esp + 0x37]
mov edx, dword [esp + 0x100]
mov eax, 0xc
jmp 0x58250b
lea eax, [0x5f7ae0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1c
lea ecx, [0x625e99]
mov dword [eax], ecx
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x669cac]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov eax, 0x13
mov ebx, eax
jmp 0x5823a1
call fcn.00465ea0
jmp fcn.00581480