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

Disassembly:
mov ecx, dword [0x7c3e14]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x58]
cmp eax, dword [ecx + 8]
jbe 0x59fbef
sub esp, 0xd8
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x8c]
mov dword [esp + 0x74], ecx
mov edx, dword [eax + 0x84]
mov dword [esp + 0x70], edx
mov ebx, dword [eax + 0x88]
mov dword [esp + 0x6c], ebx
mov dword [esp], eax
call fcn.00595c30
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 + 0x40], ecx
xor ecx, ecx
mov dword [esp + 0x3c], ecx
xor ecx, ecx
mov dword [esp + 0x84], ecx
xor edx, edx
mov dword [esp + 0x7c], edx
xor edx, edx
mov dword [esp + 0x78], edx
xor edx, edx
mov dword [esp + 0x80], edx
xor ecx, ecx
xor edx, edx
jmp 0x59dbca
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xdc]
mov edx, ecx
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
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 + 0x2c], edi
cmp dword [eax + 0x64], 4
jge 0x59dc24
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x59e2cf
mov eax, dword [esp + 0xdc]
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 + 0x2c]
mov ecx, dword [eax + 0x8c]
test ecx, ecx
jne 0x59dd21
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x60]
cmp ecx, edx
jbe 0x59fbe7
mov ebx, dword [eax + 0x54]
movzx ebp, byte [ebx + edx]
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
jne 0x59dc80
lea esi, [edx + 1]
cmp ecx, esi
jbe 0x59fbe0
lea esi, [ebx + edx + 1]
cmp byte [esi], 0x2d
jne 0x59dc7c
lea esi, [edx + 2]
cmp ecx, esi
jbe 0x59fbd9
lea esi, [ebx + edx + 2]
cmp byte [esi], 0x2d
je 0x59dcc3
mov esi, dword [esp + 0x28]
jmp 0x59dc80
mov esi, dword [esp + 0x28]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x59dd15
lea ebp, [edx + 1]
cmp ecx, ebp
jbe 0x59fbd2
lea ebp, [ebx + edx + 1]
cmp byte [ebp], 0x2e
jne 0x59dd07
lea ebp, [edx + 2]
cmp ecx, ebp
jbe 0x59fbcb
lea ebp, [ebx + edx + 2]
cmp byte [ebp], 0x2e
je 0x59dcc3
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
jmp 0x59dd21
mov ebp, dword [eax + 0x5c]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
lea ecx, [edx + 3]
mov dword [esp + 0xc], ecx
call fcn.005a5d40
movzx eax, byte [esp + 0x10]
test al, al
jne 0x59e1ac
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
jmp 0x59dd21
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
jmp 0x59dd21
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x60]
cmp ecx, edx
jbe 0x59fbc4
mov ecx, dword [eax + 0x54]
movzx ecx, byte [ecx + edx]
test cl, cl
je 0x59e241
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x80]
jmp 0x59e2e8
xor eax, eax
jmp 0x59ddda
mov ebx, dword [esp + 0xdc]
jmp 0x59dd6e
mov ebx, dword [esp + 0xdc]
jmp 0x59dd6e
mov ebx, dword [esp + 0xdc]
cmp dword [ebx + 0x64], 3
jge 0x59dd98
mov dword [esp], ebx
mov dword [esp + 4], 3
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x59f046
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
call fcn.00595c30
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.00595cf0
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov eax, 1
jmp 0x59ddda
xor eax, eax
jmp 0x59ddda
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
xor eax, eax
mov ebp, dword [ebx + 0x64]
test ebp, ebp
jg 0x59de16
mov byte [esp + 0x23], al
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x59f1f0
movzx eax, byte [esp + 0x23]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
test dl, dl
je 0x59de38
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ebp, ecx
jae 0x59f575
mov esi, dword [ebx + 0x54]
add ebp, esi
cmp byte [ebp], 0x27
jne 0x59de55
jmp 0x59f0f2
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ebp, ecx
jae 0x59f56e
mov esi, dword [ebx + 0x54]
add ebp, esi
cmp byte [ebp], 0x22
je 0x59f0f2
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x78]
jmp 0x59f238
mov ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0x78]
jmp 0x59de8f
mov ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0x78]
jmp 0x59de8f
mov ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0x78]
test al, al
je 0x59e0f5
mov edx, dword [esp + 0x44]
test edx, edx
je 0x59dfc7
mov ebp, dword [esp + 0x84]
cmp byte [ebp], 0xa
jne 0x59dfce
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x59df2b
mov edx, dword [esp + 0x3c]
inc edx
mov edi, dword [esp + 0x40]
cmp edi, edx
jb 0x59ded2
mov eax, dword [esp + 0x80]
jmp 0x59df21
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x78]
mov edi, ecx
mov ecx, edx
mov edx, eax
mov eax, ecx
mov byte [edx + eax - 1], 0x20
jmp 0x59e0e6
mov eax, dword [esp + 0x3c]
lea ecx, [eax + edx]
mov edi, dword [esp + 0x40]
cmp edi, ecx
jae 0x59df7c
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x80], edx
mov edi, eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x40], edi
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.00468d00
mov ebx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x80]
jmp 0x59e0e6
mov ebp, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
lea ecx, [edx + eax]
mov edi, dword [esp + 0x40]
cmp edi, ecx
jae 0x59e026
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x84]
mov edi, eax
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edi
mov ebx, dword [esp + 0x80]
add eax, ebx
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.00468d00
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jb 0x59e063
mov ebp, dword [esp + 0x80]
jmp 0x59e0a0
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov ebp, eax
mov ebx, edi
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x3c], edx
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00468d00
mov ebx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x80]
xor ecx, ecx
xor ecx, ecx
mov dword [esp + 0x34], ecx
xor ecx, ecx
jmp 0x59db9e
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + eax]
mov ebp, dword [esp + 0x40]
cmp ebp, edx
jb 0x59e111
mov edi, dword [esp + 0x80]
jmp 0x59e154
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x5ddd80]
mov dword [esp + 0x10], ecx
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x78]
mov edi, edx
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], edx
mov dword [esp + 0x80], edi
add ecx, edi
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.00468d00
mov ebx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x44]
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x80]
jmp 0x59db9e
nop
mov eax, dword [esp + 0xdc]
mov dword [eax], 3
mov dword [eax + 0x24], 0x1e
mov ecx, dword [0x7c3fa0]
test ecx, ecx
je 0x59e1d5
mov ecx, dword [eax + 0x20]
call fcn.00468400
mov dword [edi], ecx
lea ecx, [0x615064]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x23
mov ecx, dword [0x7c3fa0]
test ecx, ecx
je 0x59e20e
mov ecx, dword [eax + 4]
call fcn.00468400
mov dword [edi], ecx
lea ecx, [0x616d71]
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 [0x7c3fa0]
test ecx, ecx
je 0x59e263
mov ecx, dword [eax + 0x20]
call fcn.00468400
mov dword [edi], ecx
lea ecx, [0x615064]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x1e
mov ecx, dword [0x7c3fa0]
test ecx, ecx
je 0x59e29c
mov ecx, dword [eax + 4]
call fcn.00468400
mov dword [edi], ecx
lea ecx, [0x615082]
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 dword [esp + 0x3c], ecx
mov ecx, edx
mov edx, eax
mov eax, ebx
mov dword [esp + 0x80], edx
mov dword [esp + 0x40], ecx
mov ebx, dword [eax + 0x54]
mov ebp, dword [eax + 0x58]
mov esi, dword [eax + 0x5c]
mov edi, dword [eax + 0x60]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
call fcn.005a5d40
movzx eax, byte [esp + 0x10]
test al, al
jne 0x59ddc9
movzx edx, byte [esp + 0xe4]
test dl, dl
je 0x59e428
mov ebx, dword [esp + 0xdc]
mov ecx, dword [ebx + 0x58]
mov eax, dword [ebx + 0x60]
cmp ecx, eax
jbe 0x59fbbf
mov ebp, dword [ebx + 0x54]
lea esi, [eax + ebp]
movzx esi, byte [esi]
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x59e408
lea edi, [eax + 1]
cmp ecx, edi
jbe 0x59fbb8
lea ebp, [eax + ebp + 1]
cmp byte [ebp], 0x27
je 0x59e375
test dl, dl
jmp 0x59e40a
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59e38b
mov ebp, dword [esp + 0x80]
jmp 0x59e3c9
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
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.00595c30
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.00595c30
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x80]
jmp 0x59efee
test dl, dl
je 0x59e42f
cmp ecx, eax
jbe 0x59fbb3
xchg esi, eax
cmp al, 0x27
xchg esi, eax
je 0x59dd4e
test dl, dl
je 0x59e42f
jmp 0x59efbf
mov ebx, dword [esp + 0xdc]
mov ecx, dword [ebx + 0x58]
mov eax, dword [ebx + 0x60]
cmp ecx, eax
jbe 0x59fbae
mov ebp, dword [ebx + 0x54]
lea esi, [eax + ebp]
cmp byte [esi], 0x22
je 0x59ddc5
test dl, dl
jne 0x59efbf
cmp ecx, eax
jbe 0x59fba9
movzx esi, byte [esi]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x59e56c
lea edi, [eax + 1]
cmp ecx, edi
jbe 0x59fba2
movzx edi, byte [eax + ebp + 1]
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x59dd6e
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x59dd6e
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x59e4b6
lea ebx, [eax + 2]
cmp ecx, ebx
jbe 0x59fb9b
lea ebx, [eax + ebp + 2]
cmp byte [ebx], 0x85
je 0x59dd55
mov ebx, dword [esp + 0xdc]
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x59e568
lea ebx, [eax + 2]
cmp ecx, ebx
jbe 0x59fb94
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 0x59e50a
xchg esi, eax
mov byte [esp + 0x26], al
xchg esi, eax
lea esi, [eax + 3]
cmp ecx, esi
jbe 0x59fb8d
lea esi, [eax + ebp + 3]
cmp byte [esi], 0xa8
je 0x59dd5e
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
movzx esi, byte [esp + 0x26]
jmp 0x59e50f
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x59e558
cmp ecx, ebx
jbe 0x59fb86
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jne 0x59e548
lea ebx, [eax + 3]
cmp ecx, ebx
jbe 0x59fb7f
lea ebx, [eax + ebp + 3]
cmp byte [ebx], 0xa9
je 0x59dd67
test dl, dl
mov ebx, dword [esp + 0xdc]
movzx esi, byte [esp + 0x27]
jmp 0x59e56e
test dl, dl
mov ebx, dword [esp + 0xdc]
movzx esi, byte [esp + 0x27]
jmp 0x59e56e
test dl, dl
mov ebx, dword [esp + 0xdc]
movzx esi, byte [esp + 0x27]
jmp 0x59e56e
test dl, dl
jmp 0x59e56e
test dl, dl
jne 0x59efbf
cmp ecx, eax
jbe 0x59fb7a
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x59efbf
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x59fb73
movzx eax, byte [eax + ebp + 1]
cmp al, 0x5c
ja 0x59eac1
cmp al, 0x30
ja 0x59e773
cmp al, 0x20
ja 0x59e628
cmp al, 9
je 0x59ee33
cmp al, 0x20
jne 0x59f064
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59e5d6
mov ebp, dword [esp + 0x80]
jmp 0x59e61c
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 0x20
xor esi, esi
jmp 0x59ef40
cmp al, 0x22
jne 0x59e695
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59e643
mov ebp, dword [esp + 0x80]
jmp 0x59e689
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 0x22
xor esi, esi
jmp 0x59ef40
cmp al, 0x27
jne 0x59e702
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59e6b0
mov ebp, dword [esp + 0x80]
jmp 0x59e6f6
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 0x27
xor esi, esi
jmp 0x59ef40
cmp al, 0x30
jne 0x59f064
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59e721
mov ebp, dword [esp + 0x80]
jmp 0x59e767
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 0
xor esi, esi
jmp 0x59ef40
cmp al, 0x4e
ja 0x59e933
cmp al, 0x4c
jne 0x59e87b
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59e79b
mov ebp, dword [esp + 0x80]
jmp 0x59e7e1
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 0xe2
inc eax
cmp ecx, eax
jae 0x59e828
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59e86f
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59ef40
cmp al, 0x4e
jne 0x59f064
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59e89a
mov ebp, dword [esp + 0x80]
jmp 0x59e8e0
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 0xc2
inc eax
cmp ecx, eax
jae 0x59e927
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59ef40
cmp al, 0x50
jne 0x59ea32
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59e952
mov ebp, dword [esp + 0x80]
jmp 0x59e998
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 0xe2
inc eax
cmp ecx, eax
jae 0x59e9df
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59ea26
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59ef40
cmp al, 0x55
jne 0x59ea50
mov esi, 8
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x80]
mov eax, dword [esp + 0x3c]
jmp 0x59ef40
cmp al, 0x5c
jne 0x59f064
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59ea6f
mov ebp, dword [esp + 0x80]
jmp 0x59eab5
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 0x5c
xor esi, esi
jmp 0x59ef40
cmp al, 0x66
ja 0x59ed47
cmp al, 0x61
ja 0x59ebfc
cmp al, 0x5f
jne 0x59eb8b
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59eaf2
mov ebp, dword [esp + 0x80]
jmp 0x59eb38
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 0xc2
inc eax
cmp ecx, eax
jae 0x59eb7f
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59ef40
cmp al, 0x61
jne 0x59f064
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59ebaa
mov ebp, dword [esp + 0x80]
jmp 0x59ebf0
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 7
xor esi, esi
jmp 0x59ef40
cmp al, 0x62
jne 0x59ec69
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59ec17
mov ebp, dword [esp + 0x80]
jmp 0x59ec5d
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 8
xor esi, esi
jmp 0x59ef40
cmp al, 0x65
jne 0x59ecd6
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59ec84
mov ebp, dword [esp + 0x80]
jmp 0x59ecca
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 0x1b
xor esi, esi
jmp 0x59ef40
cmp al, 0x66
jne 0x59f064
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59ecf5
mov ebp, dword [esp + 0x80]
jmp 0x59ed3b
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 0xc
xor esi, esi
jmp 0x59ef40
cmp al, 0x74
ja 0x59ee9b
cmp al, 0x6e
jne 0x59edbd
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59ed6b
mov ebp, dword [esp + 0x80]
jmp 0x59edb1
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 0xa
xor esi, esi
jmp 0x59ef40
cmp al, 0x72
jne 0x59ee2a
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59edd8
mov ebp, dword [esp + 0x80]
jmp 0x59ee1e
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 0xd
xor esi, esi
jmp 0x59ef40
cmp al, 0x74
jne 0x59f064
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59ee49
mov ebp, dword [esp + 0x80]
jmp 0x59ee8f
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 9
xor esi, esi
jmp 0x59ef40
cmp al, 0x75
jne 0x59eeb9
mov esi, 4
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x80]
mov eax, dword [esp + 0x3c]
jmp 0x59ef40
cmp al, 0x76
jne 0x59ef23
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x59eed4
mov ebp, dword [esp + 0x80]
jmp 0x59ef1a
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, edx
movzx edx, byte [esp + 0xe4]
mov byte [eax + ebp - 1], 0xb
xor esi, esi
jmp 0x59ef40
cmp al, 0x78
jne 0x59f064
mov esi, 2
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x80]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x80], ebp
mov dword [esp + 0x50], esi
mov dword [esp], ebx
call fcn.00595c30
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.00595c30
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x59efab
mov edx, dword [esp + 0xdc]
cmp dword [edx + 0x64], eax
jge 0x59efa2
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x59f055
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xdc]
xor ecx, ecx
xor ebx, ebx
jmp 0x59f59c
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x80]
jmp 0x59f58b
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.00595ed0
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 0x59e2de
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x88], eax
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x59f57c
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xdc]
jmp 0x59e2de
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 [0x7c3fa0]
test eax, eax
je 0x59f086
mov eax, dword [ebx + 0x20]
call fcn.00468400
mov dword [edi], eax
lea eax, [0x61489c]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x70]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x30], eax
mov dword [ebx + 8], 0x1e
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x59f0bf
mov eax, dword [ebx + 4]
call fcn.00468400
mov dword [edi], eax
lea eax, [0x6150a0]
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.00595c30
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, [0x65a840]
call fcn.00468a6c
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x74]
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 [0x7c3fa0]
test eax, eax
je 0x59f1be
lea eax, [0x5fbee0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
call fcn.00411660
mov edi, dword [esp + 0xe0]
lea esi, [esp + 0x90]
call fcn.00468a6c
movzx eax, byte [esp + 0xe4]
test al, al
jne 0x59f1e1
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 + 0x28], ebx
mov dword [esp + 0x84], eax
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0xdc]
mov eax, ebp
mov ebp, esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0x48], ecx
mov edx, dword [ebx + 0x58]
mov ecx, dword [ebx + 0x60]
cmp ecx, edx
jae 0x59f565
mov dword [esp + 0x38], ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x78], esi
mov byte [esp + 0x25], al
mov ebp, dword [ebx + 0x54]
movzx edi, byte [ebp + ecx]
xchg edi, eax
cmp al, 0x20
xchg edi, eax
je 0x59f36f
xchg edi, eax
cmp al, 9
xchg edi, eax
je 0x59f36a
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x59f363
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x59f35c
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x59f2bd
lea esi, [ecx + 1]
cmp edx, esi
jbe 0x59f55c
lea esi, [ecx + ebp + 1]
cmp byte [esi], 0x85
je 0x59f2af
mov esi, dword [esp + 0x78]
jmp 0x59f2bd
xchg edi, eax
cmp al, 0x20
xchg edi, eax
mov esi, dword [esp + 0x78]
jmp 0x59f36f
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x59de8f
lea esi, [ecx + 1]
cmp edx, esi
jbe 0x59f553
lea ebx, [ecx + ebp + 1]
movzx ebx, byte [ebx]
cmp bl, 0x80
jne 0x59f316
lea eax, [ecx + 2]
cmp edx, eax
jbe 0x59f54c
lea eax, [ecx + ebp + 2]
cmp byte [eax], 0xa8
je 0x59f2ff
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
movzx eax, byte [esp + 0x25]
jmp 0x59f31b
xchg edi, eax
cmp al, 0x20
xchg edi, eax
movzx eax, byte [esp + 0x25]
mov ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0x78]
jmp 0x59f36f
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x59de84
cmp edx, esi
jbe 0x59f543
cmp bl, 0x80
jne 0x59de77
lea ebx, [ecx + 2]
cmp edx, ebx
jbe 0x59f53a
lea edx, [ecx + ebp + 2]
cmp byte [edx], 0xa9
jne 0x59de6a
xchg edi, eax
cmp al, 0x20
xchg edi, eax
mov ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0x78]
jmp 0x59f36f
xchg edi, eax
cmp al, 0x20
xchg edi, eax
jmp 0x59f36f
xchg edi, eax
cmp al, 0x20
xchg edi, eax
jmp 0x59f36f
xchg edi, eax
cmp al, 0x20
xchg edi, eax
je 0x59f378
xchg edi, eax
cmp al, 9
xchg edi, eax
jne 0x59f3e5
test al, al
je 0x59f392
mov dword [esp], ebx
call fcn.00595c30
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x78]
jmp 0x59f3ba
mov dword [esp], ebx
mov dword [esp + 4], esi
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
call fcn.00595ed0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov ebx, eax
movzx ebp, byte [esp + 0x25]
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x84]
mov esi, dword [esp + 0x38]
jmp 0x59f4a8
cmp dword [ebx + 0x64], 2
jge 0x59f418
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x59f52b
movzx eax, byte [esp + 0x25]
mov ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0x78]
test al, al
je 0x59f46a
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.00596130
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x48]
mov esi, ebp
mov edi, ecx
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x44]
movzx ebp, byte [esp + 0x25]
mov eax, dword [esp + 0x84]
jmp 0x59f4a8
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.00596130
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
xor ebx, ebx
mov ebp, 1
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0xdc]
mov edx, dword [edx + 0x64]
test edx, edx
jg 0x59f1ff
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x8c], eax
xchg ebp, eax
mov byte [esp + 0x24], al
xchg ebp, eax
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x59f51c
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
movzx ebp, byte [esp + 0x24]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
jmp 0x59f1ff
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.00468460
mov eax, esi
mov ecx, edx
call fcn.00468460
mov ecx, edx
call fcn.00468460
mov eax, esi
mov ecx, edx
call fcn.00468460
mov eax, esi
mov ecx, edx
call fcn.00468460
mov eax, ecx
mov ecx, edx
call fcn.00468460
mov eax, ebp
call fcn.00468460
mov eax, ebp
call fcn.00468460
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov ebx, edx
mov edx, eax
mov eax, ebx
jmp 0x59efee
shl ebx, 4
inc ecx
add ebx, ebp
cmp ecx, eax
jge 0x59f6a8
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x60]
add esi, ecx
cmp ebp, esi
jbe 0x59fb6a
mov ebp, dword [edx + 0x54]
movzx ebp, byte [esi + ebp]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x59f61a
xchg ebp, eax
cmp al, 0x39
xchg ebp, eax
jbe 0x59f5e5
xchg ebp, eax
cmp al, 0x41
xchg ebp, eax
jb 0x59f61a
xchg ebp, eax
cmp al, 0x46
xchg ebp, eax
jbe 0x59f5e5
xchg ebp, eax
cmp al, 0x61
xchg ebp, eax
jb 0x59f61a
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
ja 0x59f61a
lea esi, [ebp - 0x41]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x59f5f9
xchg ebp, eax
movzx eax, al
xchg ebp, eax
add ebp, 0xffffffc9
jmp 0x59f596
lea esi, [ebp - 0x61]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x59f60d
xchg ebp, eax
movzx esi, al
xchg ebp, eax
lea ebp, [esi - 0x57]
jmp 0x59f596
xchg ebp, eax
movzx esi, al
xchg ebp, eax
lea ebp, [esi - 0x30]
jmp 0x59f596
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x59f63c
mov eax, dword [edx + 0x20]
call fcn.00468400
mov dword [edi], eax
lea eax, [0x61489c]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x70]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x6c]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x74]
mov dword [edx + 0x30], eax
mov dword [edx + 8], 0x27
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x59f675
mov eax, dword [edx + 4]
call fcn.00468400
mov dword [edi], eax
lea eax, [0x618442]
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 0x59faa2
cmp ebx, 0x10ffff
jg 0x59faa2
mov dword [esp + 0x30], ebx
cmp ebx, 0x7f
jg 0x59f736
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x59f6e5
mov esi, dword [esp + 0x80]
jmp 0x59f72d
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59fa8c
cmp ebx, 0x7ff
jg 0x59f803
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x59f758
mov esi, dword [esp + 0x80]
jmp 0x59f7a0
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59f7f1
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59fa8c
cmp ebx, 0xffff
jg 0x59f926
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x59f825
mov esi, dword [esp + 0x80]
jmp 0x59f86d
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59f8be
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59f914
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59fa8c
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x59f93c
mov esi, dword [esp + 0x80]
jmp 0x59f984
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, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59f9d5
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59fa2b
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 0x59fa7f
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
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 + 0x40], ebp
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x80], esi
xor ebx, ebx
jmp 0x59fb5d
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x59fac4
mov eax, dword [edx + 0x20]
call fcn.00468400
mov dword [edi], eax
lea eax, [0x61489c]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x70]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x6c]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x74]
mov dword [edx + 0x30], eax
mov dword [edx + 8], 0x2b
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x59fafd
mov eax, dword [edx + 4]
call fcn.00468400
mov dword [edi], eax
lea eax, [0x619459]
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], ebx
mov dword [esp], edx
call fcn.00595c30
mov eax, dword [esp + 0x4c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x80]
cmp ebx, eax
jl 0x59fb30
mov eax, ebp
mov edx, esi
jmp 0x59f58b
mov eax, esi
mov ecx, ebp
call fcn.00468460
mov eax, esi
call fcn.00468460
call fcn.00468460
mov eax, ebx
call fcn.00468460
mov eax, ebx
call fcn.00468460
mov eax, esi
call fcn.00468460
mov eax, ebx
call fcn.00468460
mov eax, ebx
call fcn.00468460
mov eax, edi
call fcn.00468460
call fcn.00468460
call fcn.00468460
call fcn.00468460
mov eax, edi
call fcn.00468460
call fcn.00468460
mov eax, edx
call fcn.00468460
mov eax, ebp
call fcn.00468460
mov eax, ebp
call fcn.00468460
mov eax, esi
call fcn.00468460
mov eax, esi
call fcn.00468460
mov eax, edx
call fcn.00468460
nop
call fcn.00467000
jmp fcn.0059db10