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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x60]
cmp eax, dword [ecx + 8]
jbe 0x5c99b3
sub esp, 0xe0
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x84]
mov dword [esp + 0x78], ecx
mov edx, dword [eax + 0x88]
mov dword [esp + 0x74], edx
mov ebx, dword [eax + 0x8c]
mov dword [esp + 0x70], ebx
mov dword [esp], eax
call fcn.005bf860
mov eax, dword [esp + 0xe4]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x3c], ecx
xor ecx, ecx
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov dword [esp + 0x88], ecx
xor edx, edx
mov dword [esp + 0x80], edx
xor edx, edx
mov dword [esp + 0x7c], edx
xor edx, edx
mov dword [esp + 0x84], edx
xor ecx, ecx
xor edx, edx
jmp 0x5c7847
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
mov edi, esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xe4]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x28], esi
mov dword [esp + 0x40], edi
cmp dword [eax + 0x64], 4
jge 0x5c78a1
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.005bca30
movzx eax, byte [esp + 8]
test al, al
je 0x5c7f40
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
mov edx, dword [eax + 0x8c]
test edx, edx
jne 0x5c79b0
mov edx, dword [eax + 0x58]
mov ebx, dword [eax + 0x54]
mov ebp, dword [eax + 0x5c]
mov esi, dword [eax + 0x60]
cmp edx, esi
jbe 0x5c99a9
mov dword [esp + 0x6c], ebp
movzx ebp, byte [ebx + esi]
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
jne 0x5c790e
xchg ebp, eax
mov byte [esp + 0x27], al
xchg ebp, eax
lea ebp, [esi + 1]
cmp edx, ebp
jbe 0x5c99a0
lea ebp, [ebx + esi + 1]
cmp byte [ebp], 0x2d
jne 0x5c7909
lea ebp, [esi + 2]
cmp edx, ebp
jbe 0x5c9997
lea ebp, [ebx + esi + 2]
cmp byte [ebp], 0x2d
je 0x5c7951
movzx ebp, byte [esp + 0x27]
jmp 0x5c790e
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x5c79a4
lea ebp, [esi + 1]
cmp edx, ebp
jbe 0x5c998e
lea ebp, [ebx + esi + 1]
cmp byte [ebp], 0x2e
jne 0x5c7996
lea ebp, [esi + 2]
cmp edx, ebp
jbe 0x5c9985
lea ebp, [ebx + esi + 2]
cmp byte [ebp], 0x2e
je 0x5c7951
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
jmp 0x5c79b0
mov dword [esp], ebx
mov dword [esp + 4], edx
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
lea eax, [esi + 3]
mov dword [esp + 0xc], eax
call fcn.005cfe10
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5c7dfd
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
jmp 0x5c79b0
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
jmp 0x5c79b0
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edx, dword [eax + 0x58]
mov ebx, dword [eax + 0x54]
mov ebp, dword [eax + 0x60]
cmp edx, ebp
jbe 0x5c997c
movzx edx, byte [ebx + ebp]
test dl, dl
je 0x5c7e9e
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x84]
jmp 0x5c7f5c
xor eax, eax
jmp 0x5c7a5f
movzx edx, byte [esp + 0xec]
jmp 0x5c79f3
movzx edx, byte [esp + 0xec]
cmp dword [edi + 0x64], 3
jge 0x5c7a1d
mov dword [esp], edi
mov dword [esp + 4], 3
call fcn.005bca30
movzx eax, byte [esp + 8]
test al, al
je 0x5c8d73
mov edi, dword [esp + 0xe4]
mov dword [esp], edi
call fcn.005bf860
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.005bf920
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov eax, 1
jmp 0x5c7a5f
xor eax, eax
jmp 0x5c7a5f
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
xor eax, eax
cmp dword [edi + 0x64], 1
jge 0x5c7a9a
mov byte [esp + 0x22], al
mov dword [esp], edi
mov dword [esp + 4], 1
call fcn.005bca30
movzx eax, byte [esp + 8]
test al, al
je 0x5c8f3a
movzx eax, byte [esp + 0x22]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
test dl, dl
je 0x5c7abb
mov ecx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov ebp, dword [edi + 0x60]
cmp ecx, ebp
jbe 0x5c92da
add ebx, ebp
cmp byte [ebx], 0x27
jne 0x5c7ad7
jmp 0x5c8e37
mov ecx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov ebp, dword [edi + 0x60]
cmp ecx, ebp
jbe 0x5c92d3
add ebx, ebp
cmp byte [ebx], 0x22
je 0x5c8e37
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x7c]
jmp 0x5c8f73
test al, al
je 0x5c7d4b
mov edx, dword [esp + 0x44]
test edx, edx
je 0x5c7c22
mov ebx, dword [esp + 0x88]
cmp byte [ebx], 0xa
jne 0x5c7c29
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x5c7b87
mov edx, dword [esp + 0x3c]
lea ebp, [edx + 1]
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x5c7b30
mov eax, dword [esp + 0x84]
jmp 0x5c7b7e
lea eax, [0x607140]
mov dword [esp], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov eax, ebx
mov esi, edi
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0xe4]
mov byte [eax + edx], 0x20
jmp 0x5c7d3c
mov eax, dword [esp + 0x3c]
lea ebp, [eax + edx]
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jae 0x5c7bd8
lea ecx, [0x607140]
mov dword [esp], ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x84], ebx
mov esi, edi
mov dword [esp + 0x40], esi
mov ecx, dword [esp + 0x84]
add eax, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0045f270
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0xe4]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x84]
jmp 0x5c7d3c
mov ebx, dword [esp + 0x88]
mov eax, dword [esp + 0x3c]
lea ebp, [eax + edx]
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jae 0x5c7c81
lea ecx, [0x607140]
mov dword [esp], ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov esi, edi
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x40], esi
mov ecx, dword [esp + 0x84]
add eax, ecx
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.0045f270
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x6c]
lea edx, [ecx + eax]
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jb 0x5c7cbe
mov ebp, dword [esp + 0x84]
jmp 0x5c7cf7
lea eax, [0x607140]
mov dword [esp], eax
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00447740
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x6c]
mov ebp, eax
mov ebx, esi
mov eax, dword [esp + 0x34]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x84], ebp
add ecx, ebp
mov dword [esp], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045f270
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0xe4]
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x84]
xor edx, edx
xor edx, edx
mov dword [esp + 0x34], edx
xor edx, edx
jmp 0x5c7823
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
lea ebx, [edx + eax]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x5c7d6b
mov esi, dword [esp + 0x84]
jmp 0x5c7da4
lea eax, [0x607140]
mov dword [esp], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
mov esi, ebx
mov ebp, edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x84], esi
lea ecx, [esi + edx]
mov dword [esp], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045f270
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0xe4]
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x6c]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x44]
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x84]
jmp 0x5c7823
nop
mov ecx, dword [esp + 0xe4]
mov dword [ecx], 3
mov dword [ecx + 0x24], 0x1e
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5c7e27
lea edx, [0x6392f7]
mov dword [ecx + 0x20], edx
jmp 0x5c7e35
lea edi, [ecx + 0x20]
lea eax, [0x6392f7]
call fcn.0045e950
mov edx, dword [esp + 0x78]
mov dword [ecx + 0x28], edx
mov edx, dword [esp + 0x74]
mov dword [ecx + 0x2c], edx
mov edx, dword [esp + 0x70]
mov dword [ecx + 0x30], edx
mov dword [ecx + 8], 0x23
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5c7e66
lea eax, [0x63af7c]
mov dword [ecx + 4], eax
jmp 0x5c7e74
lea edi, [ecx + 4]
lea eax, [0x63af7c]
call fcn.0045e950
mov eax, dword [ecx + 0x88]
mov edx, dword [ecx + 0x8c]
mov ebx, dword [ecx + 0x84]
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
nop
mov dword [eax], 3
mov dword [eax + 0x24], 0x1e
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5c7ec1
lea ecx, [0x6392f7]
mov dword [eax + 0x20], ecx
jmp 0x5c7ed3
lea edi, [eax + 0x20]
mov ecx, eax
lea eax, [0x6392f7]
call fcn.0045e950
mov eax, ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x1e
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5c7f04
lea ecx, [0x638efb]
mov dword [eax + 4], ecx
jmp 0x5c7f16
lea edi, [eax + 4]
mov ecx, eax
lea eax, [0x638efb]
call fcn.0045e950
mov eax, ecx
mov ecx, dword [eax + 0x88]
mov edx, dword [eax + 0x8c]
mov ebx, dword [eax + 0x84]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov edi, edx
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x84], ebx
mov ecx, dword [eax + 0x54]
mov ebp, dword [eax + 0x58]
mov esi, dword [eax + 0x5c]
mov edi, dword [eax + 0x60]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
call fcn.005cfe10
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5c7a4e
movzx edx, byte [esp + 0xec]
test dl, dl
je 0x5c80aa
mov ebx, dword [esp + 0xe4]
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x54]
mov eax, dword [ebx + 0x60]
cmp ecx, eax
jbe 0x5c9977
lea esi, [eax + ebp]
movzx esi, byte [esi]
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x5c8088
mov edi, ebx
lea ebx, [eax + 1]
cmp ecx, ebx
jbe 0x5c9970
lea ebx, [ebp + eax + 1]
cmp byte [ebx], 0x27
je 0x5c7fee
test dl, dl
jmp 0x5c808c
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c8006
mov ebp, dword [esp + 0x84]
jmp 0x5c8049
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ebx
mov byte [ebp + eax], 0x27
mov dword [esp], edi
call fcn.005bf860
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.005bf860
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x84]
jmp 0x5c8d1b
test dl, dl
mov edi, ebx
je 0x5c80b1
cmp ecx, eax
jbe 0x5c996b
xchg esi, eax
cmp al, 0x27
xchg esi, eax
je 0x5c79dd
test dl, dl
je 0x5c80b1
jmp 0x5c8cec
mov edi, dword [esp + 0xe4]
mov ecx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov eax, dword [edi + 0x60]
cmp ecx, eax
jbe 0x5c9966
lea ebp, [eax + ebx]
cmp byte [ebp], 0x22
je 0x5c7a4a
test dl, dl
jne 0x5c8cec
cmp ecx, eax
jbe 0x5c9961
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x5c81ec
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x5c995a
movzx esi, byte [eax + ebx + 1]
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x5c79f3
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x5c79f3
xchg ebp, eax
mov byte [esp + 0x26], al
xchg ebp, eax
xchg esi, eax
cmp al, 0xc2
xchg esi, eax
jne 0x5c813f
lea ebp, [eax + 2]
cmp ecx, ebp
jbe 0x5c9953
lea ebp, [eax + ebx + 2]
cmp byte [ebp], 0x85
je 0x5c79f3
movzx ebp, byte [esp + 0x26]
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5c81e8
lea ebp, [eax + 2]
cmp ecx, ebp
jbe 0x5c994c
lea edx, [eax + ebx + 2]
movzx edx, byte [edx]
cmp dl, 0x80
jne 0x5c8189
mov byte [esp + 0x25], dl
lea edx, [eax + 3]
cmp ecx, edx
jbe 0x5c9945
lea edx, [eax + ebx + 3]
cmp byte [edx], 0xa8
je 0x5c79e1
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
movzx edx, byte [esp + 0x25]
jmp 0x5c818e
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5c81d7
cmp ecx, ebp
jbe 0x5c993e
cmp dl, 0x80
jne 0x5c81c6
lea edx, [eax + 3]
cmp ecx, edx
jbe 0x5c9937
lea edx, [eax + ebx + 3]
cmp byte [edx], 0xa9
je 0x5c79eb
movzx edx, byte [esp + 0xec]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x5c81ee
movzx edx, byte [esp + 0xec]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x5c81ee
movzx edx, byte [esp + 0xec]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x5c81ee
test dl, dl
jmp 0x5c81ee
test dl, dl
jne 0x5c8cec
cmp ecx, eax
jbe 0x5c9932
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x5c8cec
lea ebp, [eax + 1]
cmp ecx, ebp
jbe 0x5c992b
movzx ecx, byte [eax + ebx + 1]
cmp cl, 0x5c
ja 0x5c87a6
cmp cl, 0x30
ja 0x5c8413
cmp cl, 0x20
ja 0x5c82b3
cmp cl, 9
je 0x5c8b52
cmp cl, 0x20
jne 0x5c8d91
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c825c
mov ebp, dword [esp + 0x84]
jmp 0x5c82a7
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0x20
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x22
jne 0x5c8327
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c82d0
mov ebp, dword [esp + 0x84]
jmp 0x5c831b
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0x22
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x27
jne 0x5c839b
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c8344
mov ebp, dword [esp + 0x84]
jmp 0x5c838f
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0x27
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x30
jne 0x5c8d91
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c83bc
mov ebp, dword [esp + 0x84]
jmp 0x5c8407
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x4e
ja 0x5c85fa
cmp cl, 0x4c
jne 0x5c8532
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c843d
mov ebp, dword [esp + 0x84]
jmp 0x5c8488
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0xe2
lea eax, [ecx + 1]
cmp ebx, eax
jae 0x5c84d6
mov dword [esp + 0x3c], ecx
lea edx, [0x607140]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.00447740
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [ebp + ecx], pe_nt_image_headers32
lea ecx, [eax + 1]
cmp ebx, ecx
jae 0x5c8526
mov dword [esp + 0x3c], eax
lea edx, [0x607140]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0xa8
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x4e
jne 0x5c8d91
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c8553
mov ebp, dword [esp + 0x84]
jmp 0x5c859e
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0xc2
lea eax, [ecx + 1]
cmp ebx, eax
jae 0x5c85ec
mov dword [esp + 0x3c], ecx
lea edx, [0x607140]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.00447740
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [ebp + ecx], 0x85
mov ecx, eax
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x50
jne 0x5c8710
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c861b
mov ebp, dword [esp + 0x84]
jmp 0x5c8666
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0xe2
lea eax, [ecx + 1]
cmp ebx, eax
jae 0x5c86b4
mov dword [esp + 0x3c], ecx
lea edx, [0x607140]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.00447740
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [ebp + ecx], pe_nt_image_headers32
lea ecx, [eax + 1]
cmp ebx, ecx
jae 0x5c8704
mov dword [esp + 0x3c], eax
lea edx, [0x607140]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0xa9
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x55
jne 0x5c872e
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x84]
mov eax, 8
jmp 0x5c8c6d
cmp cl, 0x5c
jne 0x5c8d91
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c874f
mov ebp, dword [esp + 0x84]
jmp 0x5c879a
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0x5c
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x66
ja 0x5c8a58
cmp cl, 0x61
ja 0x5c88f8
cmp cl, 0x5f
jne 0x5c8880
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c87d9
mov ebp, dword [esp + 0x84]
jmp 0x5c8824
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0xc2
lea eax, [ecx + 1]
cmp ebx, eax
jae 0x5c8872
mov dword [esp + 0x3c], ecx
lea edx, [0x607140]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.00447740
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [ebp + ecx], 0xa0
mov ecx, eax
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x61
jne 0x5c8d91
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c88a1
mov ebp, dword [esp + 0x84]
jmp 0x5c88ec
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 7
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x62
jne 0x5c896c
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c8915
mov ebp, dword [esp + 0x84]
jmp 0x5c8960
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 8
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x65
jne 0x5c89e0
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c8989
mov ebp, dword [esp + 0x84]
jmp 0x5c89d4
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0x1b
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x66
jne 0x5c8d91
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c8a01
mov ebp, dword [esp + 0x84]
jmp 0x5c8a4c
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0xc
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x74
ja 0x5c8bc1
cmp cl, 0x6e
jne 0x5c8ad5
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c8a7e
mov ebp, dword [esp + 0x84]
jmp 0x5c8ac9
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0xa
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x72
jne 0x5c8b49
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c8af2
mov ebp, dword [esp + 0x84]
jmp 0x5c8b3d
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0xd
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x74
jne 0x5c8d91
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c8b6a
mov ebp, dword [esp + 0x84]
jmp 0x5c8bb5
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 9
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x75
jne 0x5c8bdf
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x84]
mov eax, 4
jmp 0x5c8c6d
cmp cl, 0x76
jne 0x5c8c50
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5c8bfc
mov ebp, dword [esp + 0x84]
jmp 0x5c8c47
lea edx, [0x607140]
mov dword [esp], edx
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0xec]
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0xe4]
mov byte [ebp + eax], 0xb
xor eax, eax
jmp 0x5c8c6d
cmp cl, 0x78
jne 0x5c8d91
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x84]
mov eax, 2
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x84], ebp
mov dword [esp + 0x50], eax
mov dword [esp], edi
call fcn.005bf860
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.005bf860
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x5c8cd8
mov edx, dword [esp + 0xe4]
cmp dword [edx + 0x64], eax
jge 0x5c8ccf
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.005bca30
movzx eax, byte [esp + 8]
test al, al
je 0x5c8d82
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
xor ecx, ecx
xor ebx, ebx
jmp 0x5c9305
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x84]
jmp 0x5c92f0
mov dword [esp], edi
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
call fcn.005bfb00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xe4]
cmp dword [ebx + 0x64], 2
jge 0x5c7f4f
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x90], eax
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.005bca30
movzx eax, byte [esp + 8]
test al, al
je 0x5c92e1
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xe4]
jmp 0x5c7f4f
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
nop
mov dword [edi], 3
mov dword [edi + 0x24], 0x1d
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5c8db4
lea ecx, [0x638aa8]
mov dword [edi + 0x20], ecx
jmp 0x5c8dc8
lea ecx, [edi + 0x20]
lea eax, [0x638aa8]
mov edx, edi
mov edi, ecx
call fcn.0045e950
mov edi, edx
mov ecx, dword [esp + 0x78]
mov dword [edi + 0x28], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov dword [edi + 0x30], ecx
mov dword [edi + 8], 0x1e
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5c8df9
lea eax, [0x638f19]
mov dword [edi + 4], eax
jmp 0x5c8e0d
lea ecx, [edi + 4]
lea eax, [0x638f19]
mov edx, edi
mov edi, ecx
call fcn.0045e950
mov edi, edx
mov eax, dword [edi + 0x88]
mov ecx, dword [edi + 0x8c]
mov edx, dword [edi + 0x84]
mov dword [edi + 0x14], edx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov dword [esp], edi
call fcn.005bf860
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x88]
mov dword [esp + 0x6c], ecx
mov edx, dword [eax + 0x8c]
mov eax, dword [eax + 0x84]
lea edi, [esp + 0x98]
lea esi, [0x68c6e0]
call fcn.0045efdc
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edx
mov eax, dword [esp + 0x84]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc0], eax
mov edi, dword [esp + 0xe8]
test byte [edi], al
mov eax, dword [0x7e77b0]
test eax, eax
jne 0x5c8ef7
lea esi, [esp + 0x98]
call fcn.0045efdc
movzx eax, byte [esp + 0xec]
test al, al
jmp 0x5c8f1e
lea eax, [0x6218e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x98]
mov dword [esp + 8], eax
call fcn.0040ff10
movzx eax, byte [esp + 0xec]
test al, al
jne 0x5c8f2b
mov eax, dword [esp + 0xe8]
mov byte [eax + 0x44], 8
mov byte [esp + 0xf0], 1
add esp, 0xe0
ret
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
movzx edx, byte [esp + 0xec]
mov dword [esp + 0x34], edi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0xe4]
mov eax, ebx
mov ebx, esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x38], ebx
mov edx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov ebp, dword [edi + 0x60]
cmp edx, ebp
jbe 0x5c92ca
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x7c], esi
movzx esi, byte [ebx + ebp]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x5c90cb
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x5c90c2
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x5c90b9
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x5c90b0
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
xchg esi, eax
cmp al, 0xc2
xchg esi, eax
jne 0x5c8ff9
lea esi, [ebp + 1]
cmp edx, esi
jbe 0x5c92c1
lea esi, [ebx + ebp + 1]
cmp byte [esi], 0x85
je 0x5c8fec
movzx esi, byte [esp + 0x27]
jmp 0x5c8ff9
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5c90cd
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5c7aec
lea esi, [ebp + 1]
cmp edx, esi
jbe 0x5c92b8
mov dword [esp + 0x6c], esi
lea esi, [ebx + ebp + 1]
movzx esi, byte [esi]
xchg esi, eax
mov byte [esp + 0x25], al
xchg esi, eax
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jne 0x5c9051
lea esi, [ebp + 2]
cmp edx, esi
jbe 0x5c92af
lea esi, [ebx + ebp + 2]
cmp byte [esi], 0xa8
je 0x5c9047
movzx esi, byte [esp + 0x27]
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jmp 0x5c906c
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5c90cd
mov dword [esp + 0x8c], ebx
movzx ebx, byte [esp + 0x27]
cmp bl, 0xe2
mov ebx, dword [esp + 0x8c]
movzx esi, byte [esp + 0x27]
jne 0x5c7aec
mov esi, dword [esp + 0x6c]
cmp edx, esi
jbe 0x5c92a6
movzx esi, byte [esp + 0x25]
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jne 0x5c7aec
lea esi, [ebp + 2]
cmp edx, esi
jbe 0x5c929d
lea edx, [ebx + ebp + 2]
cmp byte [edx], 0xa9
jne 0x5c7aec
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5c90cd
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edx, esi
jmp 0x5c90cd
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edx, esi
jmp 0x5c90cd
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edx, esi
jmp 0x5c90cd
mov edx, esi
mov byte [esp + 0x24], al
je 0x5c90d8
cmp dl, 9
jne 0x5c9145
test al, al
je 0x5c90f2
mov dword [esp], edi
call fcn.005bf860
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x7c]
jmp 0x5c911a
mov dword [esp], edi
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.005bfb00
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x2c], ecx
mov edx, eax
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
movzx ebx, byte [esp + 0x24]
mov eax, dword [esp + 0x88]
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x38]
jmp 0x5c920e
cmp dword [edi + 0x64], 2
jge 0x5c9178
mov dword [esp], edi
mov dword [esp + 4], 2
call fcn.005bca30
movzx eax, byte [esp + 8]
test al, al
je 0x5c928e
movzx eax, byte [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0xe4]
test al, al
je 0x5c91d0
mov dword [esp], edi
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
call fcn.005bfd70
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
mov esi, ebx
mov edi, ecx
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x44]
movzx ebx, byte [esp + 0x24]
mov eax, dword [esp + 0x88]
jmp 0x5c920e
mov dword [esp], edi
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
call fcn.005bfd70
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
xor edx, edx
mov ebx, 1
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xe4]
cmp dword [edx + 0x64], 1
jge 0x5c8f49
mov dword [esp + 0x94], eax
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x23], bl
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.005bca30
movzx eax, byte [esp + 8]
test al, al
je 0x5c927f
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xe4]
movzx ebx, byte [esp + 0x23]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
jmp 0x5c8f49
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov eax, esi
mov ecx, edx
call fcn.0045e9d0
mov eax, esi
mov ecx, edx
call fcn.0045e9d0
mov eax, esi
mov ecx, edx
call fcn.0045e9d0
mov eax, esi
mov ecx, edx
call fcn.0045e9d0
mov eax, esi
mov ecx, edx
call fcn.0045e9d0
mov eax, ebp
mov ecx, edx
call fcn.0045e9d0
mov eax, ebp
call fcn.0045e9d0
mov eax, ebp
call fcn.0045e9d0
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov ebx, edx
mov edx, ecx
mov ecx, eax
mov eax, ebx
jmp 0x5c8d1b
inc ecx
shl ebx, 4
add ebx, edx
mov edx, edi
cmp ecx, eax
jge 0x5c9416
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x54]
mov edi, edx
mov edx, dword [edx + 0x60]
add edx, ecx
cmp ebp, edx
jbe 0x5c9922
movzx edx, byte [edx + esi]
cmp dl, 0x30
jb 0x5c9370
cmp dl, 0x39
jbe 0x5c9344
cmp dl, 0x41
jb 0x5c9370
cmp dl, 0x46
jbe 0x5c9344
cmp dl, 0x61
jb 0x5c9370
cmp dl, 0x66
ja 0x5c9370
lea ebp, [edx - 0x41]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x5c9356
movzx edx, dl
add edx, 0xffffffc9
jmp 0x5c92fd
lea ebp, [edx - 0x61]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x5c9368
movzx ebp, dl
lea edx, [ebp - 0x57]
jmp 0x5c92fd
movzx ebp, dl
lea edx, [ebp - 0x30]
jmp 0x5c92fd
nop
mov dword [edi], 3
mov dword [edi + 0x24], 0x1d
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5c9393
lea ecx, [0x638aa8]
mov dword [edi + 0x20], ecx
jmp 0x5c93a7
lea ecx, [edi + 0x20]
lea eax, [0x638aa8]
mov edx, edi
mov edi, ecx
call fcn.0045e950
mov edi, edx
mov ecx, dword [esp + 0x78]
mov dword [edi + 0x28], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov dword [edi + 0x30], ecx
mov dword [edi + 8], 0x27
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5c93d8
lea eax, [0x63c5f5]
mov dword [edi + 4], eax
jmp 0x5c93ec
lea ecx, [edi + 4]
lea eax, [0x63c5f5]
mov edx, edi
mov edi, ecx
call fcn.0045e950
mov edi, edx
mov eax, dword [edi + 0x88]
mov ecx, dword [edi + 0x8c]
mov edx, dword [edi + 0x84]
mov dword [edi + 0x14], edx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
lea ecx, [ebx - 0xd800]
cmp ecx, 0x7ff
jbe 0x5c984c
cmp ebx, 0x10ffff
jg 0x5c984c
mov dword [esp + 0x30], ebx
cmp ebx, 0x7f
jg 0x5c94a8
mov ecx, dword [esp + 0x3c]
lea ebp, [ecx + 1]
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x5c9455
mov edi, dword [esp + 0x84]
jmp 0x5c94a0
lea eax, [0x607140]
mov dword [esp], eax
mov edx, dword [esp + 0x84]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00447740
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xe4]
mov edi, ebp
mov ebp, eax
mov esi, ebx
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x30]
mov byte [edi + ecx], bl
jmp 0x5c9836
cmp ebx, 0x7ff
jg 0x5c957f
mov ecx, dword [esp + 0x3c]
lea ebp, [ecx + 1]
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x5c94cc
mov edi, dword [esp + 0x84]
jmp 0x5c9517
lea eax, [0x607140]
mov dword [esp], eax
mov edx, dword [esp + 0x84]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00447740
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xe4]
mov esi, ebx
mov edi, ebp
mov ebx, dword [esp + 0x30]
mov ebp, eax
mov eax, dword [esp + 0x50]
sar ebx, 6
add ebx, 0xc0
mov byte [edi + ecx], bl
lea ecx, [ebp + 1]
cmp esi, ecx
jae 0x5c956a
mov dword [esp + 0x3c], ebp
lea eax, [0x607140]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.00447740
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0x30]
and ebx, 0x3f
add ebx, 0x80
mov byte [edi + ebp], bl
jmp 0x5c9834
cmp ebx, 0xffff
jg 0x5c96b2
mov ecx, dword [esp + 0x3c]
lea ebp, [ecx + 1]
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x5c95a3
mov edi, dword [esp + 0x84]
jmp 0x5c95ee
lea eax, [0x607140]
mov dword [esp], eax
mov edx, dword [esp + 0x84]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00447740
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xe4]
mov esi, ebx
mov edi, ebp
mov ebx, dword [esp + 0x30]
mov ebp, eax
mov eax, dword [esp + 0x50]
sar ebx, 0xc
add ebx, 0xe0
mov byte [edi + ecx], bl
lea ecx, [ebp + 1]
cmp esi, ecx
jae 0x5c9641
mov dword [esp + 0x3c], ebp
lea eax, [0x607140]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.00447740
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0x30]
sar ebx, 6
and ebx, 0x3f
add ebx, 0x80
mov byte [edi + ebp], bl
lea ebx, [ecx + 1]
cmp esi, ebx
jae 0x5c969b
mov dword [esp + 0x3c], ecx
lea eax, [0x607140]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00447740
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x30]
and ebp, 0x3f
add ebp, 0x80
xchg ebp, eax
mov byte [edi + ecx], al
xchg ebp, eax
jmp 0x5c9832
mov ecx, dword [esp + 0x3c]
lea ebp, [ecx + 1]
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x5c96ca
mov edi, dword [esp + 0x84]
jmp 0x5c9715
lea eax, [0x607140]
mov dword [esp], eax
mov edx, dword [esp + 0x84]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00447740
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xe4]
mov esi, ebx
mov edi, ebp
mov ebx, dword [esp + 0x30]
mov ebp, eax
mov eax, dword [esp + 0x50]
sar ebx, 0x12
add ebx, 0xf0
mov byte [edi + ecx], bl
lea ecx, [ebp + 1]
cmp esi, ecx
jae 0x5c9768
mov dword [esp + 0x3c], ebp
lea eax, [0x607140]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.00447740
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0x30]
sar ebx, 0xc
and ebx, 0x3f
add ebx, 0x80
mov byte [edi + ebp], bl
lea ebx, [ecx + 1]
cmp esi, ebx
jae 0x5c97c2
mov dword [esp + 0x3c], ecx
lea eax, [0x607140]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00447740
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x30]
sar ebp, 6
and ebp, 0x3f
add ebp, 0x80
xchg ebp, eax
mov byte [edi + ecx], al
xchg ebp, eax
lea ecx, [ebx + 1]
cmp esi, ecx
jae 0x5c981e
mov dword [esp + 0x3c], ebx
lea eax, [0x607140]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.00447740
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x30]
and ebp, 0x3f
add ebp, 0x80
xchg ebp, eax
mov byte [edi + ebx], al
xchg ebp, eax
mov ebx, ecx
mov ecx, ebx
mov ebp, ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x84], edi
xor ecx, ecx
jmp 0x5c9913
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5c986f
lea ecx, [0x638aa8]
mov dword [edx + 0x20], ecx
jmp 0x5c987d
lea edi, [edx + 0x20]
lea eax, [0x638aa8]
call fcn.0045e950
mov ecx, dword [esp + 0x78]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0x74]
mov dword [edx + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov dword [edx + 0x30], ecx
mov dword [edx + 8], 0x2b
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5c98ae
lea eax, [0x63d39e]
mov dword [edx + 4], eax
jmp 0x5c98bc
lea edi, [edx + 4]
lea eax, [0x63d39e]
call fcn.0045e950
mov eax, dword [edx + 0x88]
mov ecx, dword [edx + 0x8c]
mov ebx, dword [edx + 0x84]
mov dword [edx + 0x14], ebx
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov dword [esp + 0x4c], ecx
mov dword [esp], edx
call fcn.005bf860
mov eax, dword [esp + 0x4c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x84]
cmp ecx, eax
jl 0x5c98e6
mov eax, ebp
mov ecx, esi
mov edx, edi
jmp 0x5c92f0
mov eax, edx
mov ecx, ebp
call fcn.0045e9d0
mov eax, ebp
call fcn.0045e9d0
call fcn.0045e9d0
mov eax, edx
call fcn.0045e9d0
mov eax, ebp
call fcn.0045e9d0
mov eax, edx
call fcn.0045e9d0
mov eax, ebp
call fcn.0045e9d0
mov eax, ebp
call fcn.0045e9d0
mov eax, esi
call fcn.0045e9d0
call fcn.0045e9d0
call fcn.0045e9d0
call fcn.0045e9d0
mov eax, ebx
call fcn.0045e9d0
call fcn.0045e9d0
mov eax, ebp
mov ecx, edx
call fcn.0045e9d0
mov eax, ebp
mov ecx, edx
call fcn.0045e9d0
mov eax, ebp
mov ecx, edx
call fcn.0045e9d0
mov eax, ebp
mov ecx, edx
call fcn.0045e9d0
mov eax, ebp
mov ecx, edx
call fcn.0045e9d0
mov eax, esi
mov ecx, edx
call fcn.0045e9d0
nop
call fcn.0045d540
jmp fcn.005c7790