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

Disassembly:
mov ecx, dword [0x7da588]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x58]
cmp eax, dword [ecx + 8]
jbe 0x5a652f
sub esp, 0xd8
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x84]
mov dword [esp + 0x74], ecx
mov edx, dword [eax + 0x88]
mov dword [esp + 0x70], edx
mov ebx, dword [eax + 0x8c]
mov dword [esp + 0x6c], ebx
mov dword [esp], eax
call fcn.0059c5c0
mov eax, dword [esp + 0xdc]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x44], ecx
xor ecx, ecx
mov dword [esp + 0x48], ecx
xor ecx, ecx
mov dword [esp + 0x78], 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 0x5a44fe
mov ebx, esi
mov ebp, edx
mov esi, dword [esp + 0x2c]
mov edi, eax
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], edi
cmp dword [eax + 0x64], 4
jge 0x5a4558
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a4bf6
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
mov ecx, dword [eax + 0x8c]
test ecx, ecx
jne 0x5a4653
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x60]
cmp ecx, edx
jbe 0x5a6527
mov esi, dword [eax + 0x54]
movzx edi, byte [esi + edx]
xchg edi, eax
cmp al, 0x2d
xchg edi, eax
jne 0x5a45b4
lea ebx, [edx + 1]
cmp ecx, ebx
jbe 0x5a6520
lea ebx, [esi + edx + 1]
cmp byte [ebx], 0x2d
jne 0x5a45b0
lea ebx, [edx + 2]
cmp ecx, ebx
jbe 0x5a6519
lea ebx, [esi + edx + 2]
cmp byte [ebx], 0x2d
je 0x5a45f5
mov ebx, dword [esp + 0x40]
jmp 0x5a45b4
mov ebx, dword [esp + 0x40]
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x5a4647
lea edi, [edx + 1]
cmp ecx, edi
jbe 0x5a6512
lea edi, [esi + edx + 1]
cmp byte [edi], 0x2e
jne 0x5a4639
lea edi, [edx + 2]
cmp ecx, edi
jbe 0x5a650b
lea edi, [esi + edx + 2]
cmp byte [edi], 0x2e
je 0x5a45f5
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
jmp 0x5a4653
mov ebx, dword [eax + 0x5c]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
lea ecx, [edx + 3]
mov dword [esp + 0xc], ecx
call fcn.005ac8d0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5a4ad3
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
jmp 0x5a4653
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
jmp 0x5a4653
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x60]
cmp ecx, edx
jbe 0x5a6504
mov ecx, dword [eax + 0x54]
movzx ecx, byte [ecx + edx]
test cl, cl
je 0x5a4b68
mov ecx, dword [esp + 0x80]
jmp 0x5a4c12
xor eax, eax
jmp 0x5a4708
mov ebx, dword [esp + 0xdc]
jmp 0x5a469c
mov ebx, dword [esp + 0xdc]
jmp 0x5a469c
mov ebx, dword [esp + 0xdc]
cmp dword [ebx + 0x64], 3
jge 0x5a46c6
mov dword [esp], ebx
mov dword [esp + 4], 3
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a5998
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
call fcn.0059c5c0
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.0059c680
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov eax, 1
jmp 0x5a4708
xor eax, eax
jmp 0x5a4708
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
xor eax, eax
mov ebp, dword [ebx + 0x64]
test ebp, ebp
jg 0x5a4744
mov byte [esp + 0x23], al
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a5b42
movzx eax, byte [esp + 0x23]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
test dl, dl
je 0x5a4766
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ebp, ecx
jae 0x5a5ebd
mov esi, dword [ebx + 0x54]
add ebp, esi
cmp byte [ebp], 0x27
jne 0x5a4783
jmp 0x5a5a44
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ebp, ecx
jae 0x5a5eb6
mov esi, dword [ebx + 0x54]
add ebp, esi
cmp byte [ebp], 0x22
je 0x5a5a44
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x78]
jmp 0x5a5b82
mov ebx, dword [esp + 0xdc]
mov edi, dword [esp + 0x78]
jmp 0x5a47bd
mov ebx, dword [esp + 0xdc]
mov edi, dword [esp + 0x78]
jmp 0x5a47bd
mov ebx, dword [esp + 0xdc]
mov edi, dword [esp + 0x78]
test al, al
je 0x5a4a21
mov edx, dword [esp + 0x44]
test edx, edx
je 0x5a48f1
mov ebp, dword [esp + 0x84]
cmp byte [ebp], 0xa
jne 0x5a48f8
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x5a4853
mov edx, dword [esp + 0x3c]
inc edx
mov esi, dword [esp + 0x40]
cmp esi, edx
jb 0x5a4800
mov ecx, dword [esp + 0x80]
jmp 0x5a4849
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x84]
mov edi, dword [esp + 0x78]
mov esi, ebx
mov ebx, dword [esp + 0xdc]
mov byte [edx + ecx - 1], 0x20
jmp 0x5a4a12
mov eax, dword [esp + 0x3c]
lea ecx, [eax + edx]
mov esi, dword [esp + 0x40]
cmp esi, ecx
jae 0x5a48a6
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x80], ecx
mov esi, ebx
mov ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ecx
mov ebx, dword [esp + 0x80]
add eax, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0046c780
mov ebx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x84]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x80]
jmp 0x5a4a12
mov ebp, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
lea ecx, [eax + edx]
mov esi, dword [esp + 0x40]
cmp esi, ecx
jae 0x5a4952
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x84]
mov esi, ebx
mov dword [esp + 0x80], ecx
mov ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ecx
mov ebx, dword [esp + 0x80]
add eax, ebx
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.0046c780
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jb 0x5a498f
mov ebp, dword [esp + 0x80]
jmp 0x5a49cc
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov ebp, eax
mov ebx, esi
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x80], ebp
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0046c780
mov ebx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x84]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x80]
xor eax, eax
xor eax, eax
mov dword [esp + 0x44], eax
xor eax, eax
jmp 0x5a44de
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
lea edx, [ecx + eax]
mov ebp, dword [esp + 0x40]
cmp ebp, edx
jb 0x5a4a3d
mov esi, dword [esp + 0x80]
jmp 0x5a4a7e
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x78]
mov esi, ecx
mov ebp, ebx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], edx
mov dword [esp + 0x80], esi
add eax, esi
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.0046c780
mov ebx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x84]
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x34]
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x34]
jmp 0x5a44de
nop
mov eax, dword [esp + 0xdc]
mov dword [eax], 3
mov dword [eax + 0x24], 0x1e
mov ecx, dword [0x7da640]
test ecx, ecx
je 0x5a4afc
mov ecx, dword [eax + 0x20]
call fcn.0046be70
mov dword [edi], ecx
lea ecx, [0x61448c]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x23
mov ecx, dword [0x7da640]
test ecx, ecx
je 0x5a4b35
mov ecx, dword [eax + 4]
call fcn.0046be70
mov dword [edi], ecx
lea ecx, [0x61613d]
mov dword [eax + 4], ecx
mov ecx, dword [eax + 0x84]
mov edx, dword [eax + 0x88]
mov ebx, dword [eax + 0x8c]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], ebx
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
nop
mov dword [eax], 3
mov dword [eax + 0x24], 0x1e
mov ecx, dword [0x7da640]
test ecx, ecx
je 0x5a4b8a
mov ecx, dword [eax + 0x20]
call fcn.0046be70
mov dword [edi], ecx
lea ecx, [0x61448c]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x1e
mov ecx, dword [0x7da640]
test ecx, ecx
je 0x5a4bc3
mov ecx, dword [eax + 4]
call fcn.0046be70
mov dword [edi], ecx
lea ecx, [0x6144aa]
mov dword [eax + 4], ecx
mov ecx, dword [eax + 0x84]
mov edx, dword [eax + 0x88]
mov ebx, dword [eax + 0x8c]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], ebx
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov ebx, edx
mov ebp, ecx
mov ecx, eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x3c], ebp
mov edx, dword [eax + 0x54]
mov esi, dword [eax + 0x58]
mov edi, dword [eax + 0x5c]
mov ebx, dword [eax + 0x60]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
call fcn.005ac8d0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5a46f7
movzx edx, byte [esp + 0xe4]
test dl, dl
je 0x5a4d58
mov ebx, dword [esp + 0xdc]
mov ecx, dword [ebx + 0x58]
mov eax, dword [ebx + 0x60]
cmp ecx, eax
jbe 0x5a64ff
mov ebp, dword [ebx + 0x54]
lea esi, [eax + ebp]
movzx esi, byte [esi]
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x5a4d38
lea edi, [eax + 1]
cmp ecx, edi
jbe 0x5a64f8
lea ebp, [eax + ebp + 1]
cmp byte [ebp], 0x27
je 0x5a4ca3
test dl, dl
jmp 0x5a4d3a
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a4cb9
mov ebp, dword [esp + 0x80]
jmp 0x5a4cf9
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov byte [eax + ebp - 1], 0x27
mov dword [esp], ebx
call fcn.0059c5c0
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.0059c5c0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x80]
jmp 0x5a5940
test dl, dl
je 0x5a4d5f
cmp ecx, eax
jbe 0x5a64f3
xchg esi, eax
cmp al, 0x27
xchg esi, eax
je 0x5a467c
test dl, dl
je 0x5a4d5f
jmp 0x5a5911
mov ebx, dword [esp + 0xdc]
mov ecx, dword [ebx + 0x58]
mov eax, dword [ebx + 0x60]
cmp ecx, eax
jbe 0x5a64ee
mov ebp, dword [ebx + 0x54]
lea esi, [eax + ebp]
cmp byte [esi], 0x22
je 0x5a46f3
test dl, dl
jne 0x5a5911
cmp ecx, eax
jbe 0x5a64e9
movzx esi, byte [esi]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x5a4e9c
lea edi, [eax + 1]
cmp ecx, edi
jbe 0x5a64e2
movzx edi, byte [eax + ebp + 1]
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x5a469c
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x5a469c
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x5a4de6
lea ebx, [eax + 2]
cmp ecx, ebx
jbe 0x5a64db
lea ebx, [eax + ebp + 2]
cmp byte [ebx], 0x85
je 0x5a4683
mov ebx, dword [esp + 0xdc]
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x5a4e98
lea ebx, [eax + 2]
cmp ecx, ebx
jbe 0x5a64d4
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
lea esi, [eax + ebp + 2]
movzx esi, byte [esi]
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jne 0x5a4e3a
xchg esi, eax
mov byte [esp + 0x26], al
xchg esi, eax
lea esi, [eax + 3]
cmp ecx, esi
jbe 0x5a64cd
lea esi, [eax + ebp + 3]
cmp byte [esi], 0xa8
je 0x5a468c
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
movzx esi, byte [esp + 0x26]
jmp 0x5a4e3f
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x5a4e88
cmp ecx, ebx
jbe 0x5a64c6
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jne 0x5a4e78
lea ebx, [eax + 3]
cmp ecx, ebx
jbe 0x5a64bf
lea ebx, [eax + ebp + 3]
cmp byte [ebx], 0xa9
je 0x5a4695
test dl, dl
mov ebx, dword [esp + 0xdc]
movzx esi, byte [esp + 0x27]
jmp 0x5a4e9e
test dl, dl
mov ebx, dword [esp + 0xdc]
movzx esi, byte [esp + 0x27]
jmp 0x5a4e9e
test dl, dl
mov ebx, dword [esp + 0xdc]
movzx esi, byte [esp + 0x27]
jmp 0x5a4e9e
test dl, dl
jmp 0x5a4e9e
test dl, dl
jne 0x5a5911
cmp ecx, eax
jbe 0x5a64ba
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x5a5911
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x5a64b3
movzx eax, byte [eax + ebp + 1]
cmp al, 0x5c
ja 0x5a5401
cmp al, 0x30
ja 0x5a50ab
cmp al, 0x20
ja 0x5a4f5a
cmp al, 9
je 0x5a5781
cmp al, 0x20
jne 0x5a59b6
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a4f06
mov ebp, dword [esp + 0x80]
jmp 0x5a4f4e
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0x20
xor esi, esi
jmp 0x5a5892
cmp al, 0x22
jne 0x5a4fc9
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a4f75
mov ebp, dword [esp + 0x80]
jmp 0x5a4fbd
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0x22
xor esi, esi
jmp 0x5a5892
cmp al, 0x27
jne 0x5a5038
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a4fe4
mov ebp, dword [esp + 0x80]
jmp 0x5a502c
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0x27
xor esi, esi
jmp 0x5a5892
cmp al, 0x30
jne 0x5a59b6
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a5057
mov ebp, dword [esp + 0x80]
jmp 0x5a509f
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0
xor esi, esi
jmp 0x5a5892
cmp al, 0x4e
ja 0x5a526f
cmp al, 0x4c
jne 0x5a51b5
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a50d3
mov ebp, dword [esp + 0x80]
jmp 0x5a511b
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0xe2
inc eax
cmp ecx, eax
jae 0x5a5162
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], pe_nt_image_headers32
inc eax
cmp ecx, eax
jae 0x5a51a9
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0xa8
xor esi, esi
jmp 0x5a5892
cmp al, 0x4e
jne 0x5a59b6
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a51d4
mov ebp, dword [esp + 0x80]
jmp 0x5a521c
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0xc2
inc eax
cmp ecx, eax
jae 0x5a5263
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0x85
xor esi, esi
jmp 0x5a5892
cmp al, 0x50
jne 0x5a5370
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a528e
mov ebp, dword [esp + 0x80]
jmp 0x5a52d6
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0xe2
inc eax
cmp ecx, eax
jae 0x5a531d
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], pe_nt_image_headers32
inc eax
cmp ecx, eax
jae 0x5a5364
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0xa9
xor esi, esi
jmp 0x5a5892
cmp al, 0x55
jne 0x5a538e
mov esi, 8
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x80]
mov eax, dword [esp + 0x3c]
jmp 0x5a5892
cmp al, 0x5c
jne 0x5a59b6
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a53ad
mov ebp, dword [esp + 0x80]
jmp 0x5a53f5
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0x5c
xor esi, esi
jmp 0x5a5892
cmp al, 0x66
ja 0x5a5691
cmp al, 0x61
ja 0x5a5540
cmp al, 0x5f
jne 0x5a54cd
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a5432
mov ebp, dword [esp + 0x80]
jmp 0x5a547a
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0xc2
inc eax
cmp ecx, eax
jae 0x5a54c1
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0xa0
xor esi, esi
jmp 0x5a5892
cmp al, 0x61
jne 0x5a59b6
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a54ec
mov ebp, dword [esp + 0x80]
jmp 0x5a5534
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 7
xor esi, esi
jmp 0x5a5892
cmp al, 0x62
jne 0x5a55af
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a555b
mov ebp, dword [esp + 0x80]
jmp 0x5a55a3
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 8
xor esi, esi
jmp 0x5a5892
cmp al, 0x65
jne 0x5a561e
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a55ca
mov ebp, dword [esp + 0x80]
jmp 0x5a5612
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0x1b
xor esi, esi
jmp 0x5a5892
cmp al, 0x66
jne 0x5a59b6
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a563d
mov ebp, dword [esp + 0x80]
jmp 0x5a5685
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0xc
xor esi, esi
jmp 0x5a5892
cmp al, 0x74
ja 0x5a57eb
cmp al, 0x6e
jne 0x5a5709
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a56b5
mov ebp, dword [esp + 0x80]
jmp 0x5a56fd
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0xa
xor esi, esi
jmp 0x5a5892
cmp al, 0x72
jne 0x5a5778
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a5724
mov ebp, dword [esp + 0x80]
jmp 0x5a576c
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0xd
xor esi, esi
jmp 0x5a5892
cmp al, 0x74
jne 0x5a59b6
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a5797
mov ebp, dword [esp + 0x80]
jmp 0x5a57df
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 9
xor esi, esi
jmp 0x5a5892
cmp al, 0x75
jne 0x5a5809
mov esi, 4
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x80]
mov eax, dword [esp + 0x3c]
jmp 0x5a5892
cmp al, 0x76
jne 0x5a5875
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a5824
mov ebp, dword [esp + 0x80]
jmp 0x5a586c
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xdc]
mov byte [eax + ebp - 1], 0xb
xor esi, esi
jmp 0x5a5892
cmp al, 0x78
jne 0x5a59b6
mov esi, 2
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x80]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x80], ebp
mov dword [esp + 0x40], ecx
mov dword [esp + 0x50], esi
mov dword [esp], ebx
call fcn.0059c5c0
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.0059c5c0
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x5a58fd
mov edx, dword [esp + 0xdc]
cmp dword [edx + 0x64], eax
jge 0x5a58f4
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a59a7
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xdc]
xor ecx, ecx
xor ebx, ebx
jmp 0x5a5ee4
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x80]
jmp 0x5a5ed3
mov dword [esp], ebx
mov eax, dword [esp + 0x80]
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.0059c860
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xdc]
cmp dword [ebx + 0x64], 2
jge 0x5a4c05
mov dword [esp + 0x88], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], edx
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a5ec4
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xdc]
jmp 0x5a4c05
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
nop
mov dword [ebx], 3
mov dword [ebx + 0x24], 0x1d
mov eax, dword [0x7da640]
test eax, eax
je 0x5a59d8
mov eax, dword [ebx + 0x20]
call fcn.0046be70
mov dword [edi], eax
lea eax, [0x613d3e]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x30], eax
mov dword [ebx + 8], 0x1e
mov eax, dword [0x7da640]
test eax, eax
je 0x5a5a11
mov eax, dword [ebx + 4]
call fcn.0046be70
mov dword [edi], eax
lea eax, [0x6144c8]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x88]
mov ecx, dword [ebx + 0x8c]
mov edx, dword [ebx + 0x84]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov dword [esp], ebx
call fcn.0059c5c0
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x88]
mov dword [esp + 0x68], ecx
mov edx, dword [eax + 0x8c]
mov eax, dword [eax + 0x84]
lea edi, [esp + 0x90]
lea esi, [0x659940]
call fcn.0046c4ec
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], edx
mov eax, dword [esp + 0x80]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xb8], eax
mov edi, dword [esp + 0xe0]
test byte [edi], al
mov eax, dword [0x7da640]
test eax, eax
je 0x5a5b10
lea eax, [0x5fb200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
call fcn.00412350
mov edi, dword [esp + 0xe0]
lea esi, [esp + 0x90]
call fcn.0046c4ec
movzx eax, byte [esp + 0xe4]
test al, al
jne 0x5a5b33
mov eax, dword [esp + 0xe0]
mov byte [eax + 0x44], 8
mov byte [esp + 0xe8], 1
add esp, 0xd8
ret
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov edx, dword [esp + 0xdc]
movzx edx, byte [esp + 0xe4]
mov dword [esp + 0x34], edi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x84], eax
mov edi, dword [esp + 0x78]
mov ecx, esi
mov esi, dword [esp + 0x2c]
mov eax, ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0x38], ecx
mov edx, dword [ebx + 0x58]
mov ecx, dword [ebx + 0x60]
cmp ecx, edx
jae 0x5a5ead
mov dword [esp + 0x48], ebp
mov dword [esp + 0x2c], esi
mov dword [esp + 0x78], edi
mov byte [esp + 0x25], al
mov ebp, dword [ebx + 0x54]
movzx esi, byte [ebp + ecx]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x5a5cb9
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x5a5cb4
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x5a5cad
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x5a5ca6
xchg esi, eax
cmp al, 0xc2
xchg esi, eax
jne 0x5a5c07
lea edi, [ecx + 1]
cmp edx, edi
jbe 0x5a5ea4
lea edi, [ecx + ebp + 1]
cmp byte [edi], 0x85
je 0x5a5bf9
mov edi, dword [esp + 0x78]
jmp 0x5a5c07
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edi, dword [esp + 0x78]
jmp 0x5a5cb9
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5a47bd
lea edi, [ecx + 1]
cmp edx, edi
jbe 0x5a5e9b
lea ebx, [ecx + ebp + 1]
movzx ebx, byte [ebx]
cmp bl, 0x80
jne 0x5a5c60
lea eax, [ecx + 2]
cmp edx, eax
jbe 0x5a5e94
lea eax, [ecx + ebp + 2]
cmp byte [eax], 0xa8
je 0x5a5c49
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
movzx eax, byte [esp + 0x25]
jmp 0x5a5c65
xchg esi, eax
cmp al, 0x20
xchg esi, eax
movzx eax, byte [esp + 0x25]
mov ebx, dword [esp + 0xdc]
mov edi, dword [esp + 0x78]
jmp 0x5a5cb9
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5a47b2
cmp edx, edi
jbe 0x5a5e8b
cmp bl, 0x80
jne 0x5a47a5
lea ebx, [ecx + 2]
cmp edx, ebx
jbe 0x5a5e82
lea edx, [ecx + ebp + 2]
cmp byte [edx], 0xa9
jne 0x5a4798
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov ebx, dword [esp + 0xdc]
mov edi, dword [esp + 0x78]
jmp 0x5a5cb9
xchg esi, eax
cmp al, 0x20
xchg esi, eax
jmp 0x5a5cb9
xchg esi, eax
cmp al, 0x20
xchg esi, eax
jmp 0x5a5cb9
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x5a5cc2
xchg esi, eax
cmp al, 9
xchg esi, eax
jne 0x5a5d2f
test al, al
je 0x5a5cdc
mov dword [esp], ebx
call fcn.0059c5c0
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x78]
jmp 0x5a5d04
mov dword [esp], ebx
mov dword [esp + 4], edi
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
call fcn.0059c860
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x2c], esi
mov edx, eax
movzx ebx, byte [esp + 0x25]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
jmp 0x5a5df2
cmp dword [ebx + 0x64], 2
jge 0x5a5d62
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a5e73
movzx eax, byte [esp + 0x25]
mov ebx, dword [esp + 0xdc]
mov edi, dword [esp + 0x78]
test al, al
je 0x5a5db4
mov dword [esp], ebx
mov eax, dword [esp + 0x7c]
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.0059cac0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x48]
movzx ebx, byte [esp + 0x25]
mov esi, edx
mov edi, ecx
mov dword [esp + 0x7c], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x84]
jmp 0x5a5df2
mov dword [esp], ebx
mov eax, dword [esp + 0x84]
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.0059cac0
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 + 0xdc]
mov edx, dword [edx + 0x64]
test edx, edx
jg 0x5a5b51
mov dword [esp + 0x68], ebp
mov dword [esp + 0x8c], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], esi
mov byte [esp + 0x24], bl
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a5e64
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x64]
movzx ebx, byte [esp + 0x24]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
jmp 0x5a5b51
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov eax, ebx
mov ecx, edx
call fcn.0046bef0
mov eax, edi
mov ecx, edx
call fcn.0046bef0
mov ecx, edx
call fcn.0046bef0
mov eax, edi
mov ecx, edx
call fcn.0046bef0
mov eax, edi
mov ecx, edx
call fcn.0046bef0
mov eax, ecx
mov ecx, edx
call fcn.0046bef0
mov eax, ebp
call fcn.0046bef0
mov eax, ebp
call fcn.0046bef0
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov ebx, edx
mov edx, eax
mov eax, ebx
jmp 0x5a5940
shl ebx, 4
inc ecx
add ebx, ebp
cmp ecx, eax
jge 0x5a5ff0
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x60]
add esi, ecx
cmp ebp, esi
jbe 0x5a64aa
mov ebp, dword [edx + 0x54]
movzx ebp, byte [esi + ebp]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x5a5f62
xchg ebp, eax
cmp al, 0x39
xchg ebp, eax
jbe 0x5a5f2d
xchg ebp, eax
cmp al, 0x41
xchg ebp, eax
jb 0x5a5f62
xchg ebp, eax
cmp al, 0x46
xchg ebp, eax
jbe 0x5a5f2d
xchg ebp, eax
cmp al, 0x61
xchg ebp, eax
jb 0x5a5f62
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
ja 0x5a5f62
lea esi, [ebp - 0x41]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x5a5f41
xchg ebp, eax
movzx eax, al
xchg ebp, eax
add ebp, 0xffffffc9
jmp 0x5a5ede
lea esi, [ebp - 0x61]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x5a5f55
xchg ebp, eax
movzx esi, al
xchg ebp, eax
lea ebp, [esi - 0x57]
jmp 0x5a5ede
xchg ebp, eax
movzx esi, al
xchg ebp, eax
lea ebp, [esi - 0x30]
jmp 0x5a5ede
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov eax, dword [0x7da640]
test eax, eax
je 0x5a5f84
mov eax, dword [edx + 0x20]
call fcn.0046be70
mov dword [edi], eax
lea eax, [0x613d3e]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x74]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x6c]
mov dword [edx + 0x30], eax
mov dword [edx + 8], 0x27
mov eax, dword [0x7da640]
test eax, eax
je 0x5a5fbd
mov eax, dword [edx + 4]
call fcn.0046be70
mov dword [edi], eax
lea eax, [0x617555]
mov dword [edx + 4], eax
mov eax, dword [edx + 0x84]
mov ecx, dword [edx + 0x88]
mov ebx, dword [edx + 0x8c]
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], ecx
mov dword [edx + 0x1c], ebx
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
lea ecx, [ebx - 0xd800]
cmp ecx, 0x7ff
jbe 0x5a63e8
cmp ebx, 0x10ffff
jg 0x5a63e8
mov dword [esp + 0x30], ebx
cmp ebx, 0x7f
jg 0x5a607e
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5a602d
mov esi, dword [esp + 0x80]
jmp 0x5a6075
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xdc]
mov ebx, dword [esp + 0x30]
mov esi, ebp
mov ebp, eax
mov eax, dword [esp + 0x50]
mov byte [ecx + esi - 1], bl
jmp 0x5a63d4
cmp ebx, 0x7ff
jg 0x5a614b
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5a60a0
mov esi, dword [esp + 0x80]
jmp 0x5a60e8
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xdc]
mov ebx, dword [esp + 0x30]
mov esi, ebp
mov ebp, eax
mov eax, dword [esp + 0x50]
mov edi, ebx
sar ebx, 6
add ebx, 0xc0
mov byte [ecx + esi - 1], bl
inc ecx
cmp ebp, ecx
jae 0x5a6139
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xdc]
mov edi, dword [esp + 0x30]
and edi, 0x3f
lea ebx, [edi + 0x80]
mov byte [ecx + esi - 1], bl
jmp 0x5a63d4
cmp ebx, 0xffff
jg 0x5a626e
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5a616d
mov esi, dword [esp + 0x80]
jmp 0x5a61b5
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xdc]
mov ebx, dword [esp + 0x30]
mov esi, ebp
mov ebp, eax
mov eax, dword [esp + 0x50]
mov edi, ebx
sar ebx, 0xc
add ebx, 0xe0
mov byte [ecx + esi - 1], bl
inc ecx
cmp ebp, ecx
jae 0x5a6206
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xdc]
mov edi, dword [esp + 0x30]
mov ebx, edi
sar edi, 6
and edi, 0x3f
add edi, 0x80
xchg edi, eax
mov byte [ecx + esi - 1], al
xchg edi, eax
inc ecx
cmp ebp, ecx
jae 0x5a625c
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xdc]
mov ebx, dword [esp + 0x30]
and ebx, 0x3f
add ebx, 0x80
mov byte [ecx + esi - 1], bl
jmp 0x5a63d4
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5a6284
mov esi, dword [esp + 0x80]
jmp 0x5a62cc
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xdc]
mov ebx, dword [esp + 0x30]
mov esi, ebp
mov ebp, eax
mov eax, dword [esp + 0x50]
mov edi, ebx
sar ebx, 0x12
add ebx, 0xf0
mov byte [ecx + esi - 1], bl
inc ecx
cmp ebp, ecx
jae 0x5a631d
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xdc]
mov edi, dword [esp + 0x30]
mov ebx, edi
sar edi, 0xc
and edi, 0x3f
add edi, 0x80
xchg edi, eax
mov byte [ecx + esi - 1], al
xchg edi, eax
inc ecx
cmp ebp, ecx
jae 0x5a6373
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xdc]
mov ebx, dword [esp + 0x30]
mov edi, ebx
sar ebx, 6
and ebx, 0x3f
add ebx, 0x80
mov byte [ecx + esi - 1], bl
inc ecx
cmp ebp, ecx
jae 0x5a63c7
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xdc]
mov edi, dword [esp + 0x30]
and edi, 0x3f
lea ebx, [edi + 0x80]
mov byte [ecx + esi - 1], bl
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x80], esi
mov dword [esp + 0x40], ebp
jmp 0x5a649d
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov eax, dword [0x7da640]
test eax, eax
je 0x5a640a
mov eax, dword [edx + 0x20]
call fcn.0046be70
mov dword [edi], eax
lea eax, [0x613d3e]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x74]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x6c]
mov dword [edx + 0x30], eax
mov dword [edx + 8], 0x2b
mov eax, dword [0x7da640]
test eax, eax
je 0x5a6443
mov eax, dword [edx + 4]
call fcn.0046be70
mov dword [edi], eax
lea eax, [0x61853d]
mov dword [edx + 4], eax
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 + 0xe8], 0
add esp, 0xd8
ret
mov dword [esp + 0x4c], eax
mov dword [esp], edx
call fcn.0059c5c0
mov eax, dword [esp + 0x4c]
dec eax
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x80]
test eax, eax
jg 0x5a6476
mov eax, ebp
mov edx, esi
jmp 0x5a5ed3
mov eax, esi
mov ecx, ebp
call fcn.0046bef0
mov eax, esi
call fcn.0046bef0
call fcn.0046bef0
mov eax, ebx
call fcn.0046bef0
mov eax, ebx
call fcn.0046bef0
mov eax, esi
call fcn.0046bef0
mov eax, ebx
call fcn.0046bef0
mov eax, ebx
call fcn.0046bef0
mov eax, edi
call fcn.0046bef0
call fcn.0046bef0
call fcn.0046bef0
call fcn.0046bef0
mov eax, edi
call fcn.0046bef0
call fcn.0046bef0
mov eax, edx
call fcn.0046bef0
mov eax, edi
call fcn.0046bef0
mov eax, edi
call fcn.0046bef0
mov eax, ebx
call fcn.0046bef0
mov eax, ebx
call fcn.0046bef0
mov eax, edx
call fcn.0046bef0
nop
call fcn.0046aa70
jmp fcn.005a4450