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

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x5a8fd2
sub esp, 0xf8
mov eax, dword [esp + 0x104]
test eax, eax
je 0x5a89ff
mov ecx, eax
and eax, 0x1f
mov dword [esp + 0x4c], eax
nop
cmp eax, 0x14
jne 0x5a7fdc
test ecx, 0x200
jne 0x5a7f93
lea edx, [0x7ad404]
mov ebx, dword [esp + 0xfc]
jmp 0x5a7fbd
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.004a2b10
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 0x5a897b
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
cmp eax, 0x17
jne 0x5a7ff2
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 4]
test ebx, ebx
sete bl
jmp 0x5a7ffb
mov edx, dword [esp + 0x100]
xor ebx, ebx
test bl, bl
je 0x5a805c
movzx ebx, byte [esp + 0x11d]
test bl, bl
je 0x5a805c
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409e70
mov eax, dword [esp + 0xc]
lea ecx, [0x7abca8]
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 0x5a8212
mov ebx, dword [esp + 0x10c]
test ebx, ebx
je 0x5a8212
lea ebx, [eax - 2]
cmp ebx, 4
ja 0x5a8212
test ecx, 0x200
jne 0x5a809e
lea ebx, [0x7ad404]
mov ebp, dword [esp + 0xfc]
jmp 0x5a80c1
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004a2b10
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.004a3560
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.004a0960
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.004a2490
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.004a1190
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.004a1190
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.0049b310
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5a81c1
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jmp 0x5a8212
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409e70
mov eax, dword [esp + 0xc]
lea ecx, [0x7abca8]
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 0x5a8364
mov ebx, dword [esp + 0x10c]
test ebx, ebx
jne 0x5a8364
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.004a1190
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 0x5a827b
lea ebx, [0x7ad404]
mov ebp, dword [esp + 0xfc]
jmp 0x5a82a5
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.004a2b10
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.004a3480
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.004a1190
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.0049b310
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5a8313
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jmp 0x5a8364
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409e70
mov eax, dword [esp + 0xc]
lea ecx, [0x7abca8]
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 0x5a837b
lea ebx, [0x7ad404]
mov ebp, dword [esp + 0xfc]
jmp 0x5a83b0
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004a2b10
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 [0x9c4d18], ebx
je 0x5a83c0
test ecx, 0x200
jmp 0x5a8401
mov eax, dword [0x9c4d1c]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00404340
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5a877f
mov eax, dword [esp + 0x104]
test eax, 0x200
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jne 0x5a8412
lea ebx, [0x7ad404]
mov ebp, dword [esp + 0xfc]
jmp 0x5a8435
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004a2b10
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.005a4330
movzx eax, byte [esp + 0x11]
movzx ecx, byte [esp + 0x10]
test al, al
je 0x5a8682
movzx eax, byte [esp + 8]
test al, al
jne 0x5a8674
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x5a84d8
cmp edx, 0x17
je 0x5a84d8
lea eax, [0x747999]
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.00409df0
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x7ab500]
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 0x5a854e
cmp edx, 0x13
jne 0x5a84f0
test ebx, ebx
jmp 0x5a8555
lea eax, [0x749bd2]
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.00409df0
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x7ab500]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
cmp edx, 0x13
jne 0x5a85be
test ebx, ebx
jne 0x5a8e61
mov eax, dword [esp + 0x4c]
cmp eax, 0x18
jne 0x5a8572
mov edx, dword [esp + 0x100]
mov ebx, dword [edx]
mov ebp, dword [edx + 4]
jmp 0x5a85af
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.004a2a30
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 0x5a8e6d
cmp edx, 0x17
jne 0x5a866d
cmp eax, 0x18
je 0x5a8654
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.004a1190
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.004686fb
mov eax, dword [esp + 0x68]
lea ecx, [0x72eae0]
cmp eax, ecx
jne 0x5a8e4b
lea edi, [esp + 0x9c]
call fcn.00468bde
lea edi, [esp]
lea esi, [esp + 0x9c]
call fcn.00468bde
call fcn.005a5ea0
movzx eax, byte [esp + 0x14]
test al, al
je 0x5a865e
movzx ecx, byte [esp + 0x37]
mov eax, 0x18
jmp 0x5a8a76
movzx ecx, byte [esp + 0x37]
mov eax, 0x17
jmp 0x5a8a76
mov eax, edx
jmp 0x5a8a76
mov eax, dword [esp + 0x104]
test eax, 0x200
jmp 0x5a868e
mov eax, dword [esp + 0x104]
test eax, 0x200
jne 0x5a869f
lea eax, [0x7ad404]
mov ecx, dword [esp + 0xfc]
jmp 0x5a86c5
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.004a2b10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
test eax, eax
je 0x5a86e2
mov eax, dword [eax + 4]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
lea eax, [0x7395b9]
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.004c6ba0
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.00409df0
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x7ab500]
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.004a1190
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0xd4]
xor eax, eax
call fcn.004686f7
mov eax, dword [esp + 0x68]
lea ecx, [0x70f1a0]
cmp eax, ecx
jne 0x5a8a60
lea edi, [esp + 0xd4]
call fcn.00468bb6
lea edi, [esp + 0xb0]
lea esi, [esp + 0xd4]
call fcn.00468bb6
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x5a8928
lea eax, [0x7049e0]
mov dword [esp], eax
call fcn.0040c5b0
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.005a5440
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.00409e70
mov eax, dword [esp + 0xc]
lea ecx, [0x7abca8]
mov edx, dword [esp + 0x5c]
mov dword [edx + 8], ecx
mov ebx, dword [0x9eca70]
test ebx, ebx
je 0x5a88a4
call fcn.00468460
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.00409e70
mov eax, dword [esp + 0xc]
lea ecx, [0x7abca8]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x9eca70]
test ecx, ecx
je 0x5a88f4
call fcn.00468460
mov dword [edi], eax
mov ecx, dword [edx + 0x14]
mov dword [edi + 4], ecx
mov dword [edx + 0x14], eax
lea eax, [0x7abcc0]
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.00409e70
mov eax, dword [esp + 0xc]
lea ecx, [0x7abca8]
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.004a0960
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.00468bd4
call fcn.005a7f40
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, [0x73ff48]
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.004c3fd0
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, [0x6e5b40]
mov dword [esp + 8], eax
call fcn.00409a80
movzx edx, byte [esp + 0x11c]
test dl, dl
je 0x5a8ae9
cmp eax, 0x10
jne 0x5a8a8e
mov eax, 0x11
jmp 0x5a8ae9
lea eax, [0x73db92]
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.00409df0
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x7ab500]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov dword [esp + 0x3c], eax
cmp eax, 0x11
jne 0x5a8afe
test dl, dl
jne 0x5a8afe
mov byte [esp + 0x11c], 1
lea eax, [0x7049e0]
mov dword [esp], eax
call fcn.0040c5b0
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.00468bd4
call fcn.005a6b20
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 [0x9eca70]
test eax, eax
je 0x5a8b7b
call fcn.00468460
mov dword [edi], ecx
mov eax, dword [esi + 0x14]
mov dword [edi + 4], eax
mov dword [esi + 0x14], ecx
test edx, edx
jne 0x5a8e20
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 0x5a8d71
movzx edx, byte [esp + 0x10a]
test dl, dl
je 0x5a8bb7
mov edx, 1
jmp 0x5a8bcf
movzx edx, byte [esp + 0x10b]
test dl, dl
je 0x5a8bca
mov edx, 3
jmp 0x5a8bcf
mov edx, 2
movzx ebx, byte [esp + 0x109]
test bl, bl
jne 0x5a8be2
mov eax, dword [eax]
jmp 0x5a8d77
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.005a5440
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.00409e70
mov eax, dword [esp + 0xc]
lea ecx, [0x7abca8]
mov edx, dword [esp + 0x58]
mov dword [edx + 8], ecx
mov ebx, dword [0x9eca70]
test ebx, ebx
je 0x5a8c67
call fcn.00468460
mov dword [edi], eax
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], eax
lea eax, [0x7049e0]
mov dword [esp], eax
call fcn.0040c5b0
mov eax, dword [esp + 4]
lea ecx, [0x7abcc0]
mov dword [eax + 0x10], ecx
mov edx, dword [0x9eca70]
test edx, edx
jne 0x5a8c95
mov edx, dword [esp + 0x58]
jmp 0x5a8ca0
call fcn.00468450
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.005a5440
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.00409e70
mov eax, dword [esp + 0xc]
lea ecx, [0x7abca8]
mov edx, dword [esp + 0x54]
mov dword [edx + 8], ecx
mov ecx, dword [0x9eca70]
test ecx, ecx
je 0x5a8d3d
call fcn.00468460
mov dword [edi], eax
mov ecx, dword [edx + 0xc]
mov dword [edi + 4], ecx
mov dword [edx + 0xc], eax
lea eax, [0x7abcc0]
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.005a5440
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.00409e70
mov eax, dword [esp + 0xc]
lea ecx, [0x7abca8]
mov edx, dword [esp + 0x58]
mov dword [edx + 8], ecx
mov ecx, dword [0x9eca70]
test ecx, ecx
je 0x5a8dec
call fcn.00468460
mov dword [edi], eax
mov ecx, dword [edx + 0xc]
mov dword [edi + 4], ecx
mov dword [edx + 0xc], eax
lea eax, [0x7abcc0]
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, [0x6e5b40]
mov dword [esp + 8], eax
call fcn.00409a80
mov eax, ebx
jmp 0x5a8a76
movzx ecx, byte [esp + 0x37]
cmp esi, ebp
jge 0x5a8fc6
movzx edi, byte [ebx + esi]
cmp edi, 0x80
jge 0x5a8e84
inc esi
jmp 0x5a8eb4
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0045fc00
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 0x5a8f1a
lea ecx, [edi - 0x61]
cmp cl, 0x19
jbe 0x5a8e68
lea ecx, [edi - 0x41]
cmp cl, 0x19
jbe 0x5a8e68
lea ecx, [edi - 0x30]
cmp cl, 9
jbe 0x5a8e68
lea ecx, [edi - 0x27]
cmp cl, 2
jbe 0x5a8e68
lea ecx, [edi - 0x2b]
cmp cl, 4
jbe 0x5a8e68
xchg edi, eax
cmp al, 0x20
xchg edi, eax
je 0x5a8e68
xchg edi, eax
cmp al, 0x3a
xchg edi, eax
je 0x5a8e68
xchg edi, eax
cmp al, 0x3d
xchg edi, eax
je 0x5a8e68
xchg edi, eax
cmp al, 0x3f
xchg edi, eax
je 0x5a8e68
cmp eax, 0x18
movzx ecx, byte [esp + 0x37]
jmp 0x5a8f1d
cmp eax, 0x18
jne 0x5a8f26
mov eax, dword [edx]
mov ebx, dword [edx + 4]
jmp 0x5a8f4c
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.004a2a30
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.00476030
movzx eax, byte [esp + 8]
test al, al
je 0x5a8f74
movzx ecx, byte [esp + 0x37]
mov edx, dword [esp + 0x100]
mov eax, 0xc
jmp 0x5a8fcb
lea eax, [0x6f2340]
mov dword [esp], eax
call fcn.0040c5b0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1c
lea ecx, [0x73ed05]
mov dword [eax], ecx
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x7aaeb4]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov eax, 0x13
mov ebx, eax
jmp 0x5a8e61
call fcn.00467050
jmp fcn.005a7f40