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

Disassembly:
mov ecx, dword [0x6c4e70]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x58]
cmp eax, dword [ecx + 8]
jbe 0x530c36
sub esp, 0xd8
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x8c]
mov dword [esp + 0x74], ecx
mov edx, dword [eax + 0x88]
mov dword [esp + 0x70], edx
mov ebx, dword [eax + 0x84]
mov dword [esp + 0x6c], ebx
mov dword [esp], eax
call fcn.00526c70
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 + 0x3c], ecx
xor ecx, ecx
mov dword [esp + 0x2c], 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 0x52ec02
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x48]
mov edx, eax
mov eax, dword [esp + 0xdc]
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 0x52ec5c
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x52f2fa
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 + 0x40]
mov ecx, dword [eax + 0x8c]
test ecx, ecx
jne 0x52ed59
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x60]
cmp ecx, edx
jbe 0x530c2e
mov ebx, dword [eax + 0x54]
movzx ebp, byte [ebx + edx]
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
jne 0x52ecb8
lea esi, [edx + 1]
cmp ecx, esi
jbe 0x530c27
lea esi, [ebx + edx + 1]
cmp byte [esi], 0x2d
jne 0x52ecb4
lea esi, [edx + 2]
cmp ecx, esi
jbe 0x530c20
lea esi, [ebx + edx + 2]
cmp byte [esi], 0x2d
je 0x52ecfb
mov esi, dword [esp + 0x28]
jmp 0x52ecb8
mov esi, dword [esp + 0x28]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x52ed4d
lea ebp, [edx + 1]
cmp ecx, ebp
jbe 0x530c19
lea ebp, [ebx + edx + 1]
cmp byte [ebp], 0x2e
jne 0x52ed3f
lea ebp, [edx + 2]
cmp ecx, ebp
jbe 0x530c12
lea ebp, [ebx + edx + 2]
cmp byte [ebp], 0x2e
je 0x52ecfb
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
jmp 0x52ed59
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.00536da0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x52f1d7
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 + 0x40]
jmp 0x52ed59
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
jmp 0x52ed59
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 0x530c0b
mov ecx, dword [eax + 0x54]
movzx ecx, byte [ecx + edx]
test cl, cl
je 0x52f26c
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x3c]
jmp 0x52f311
xor eax, eax
jmp 0x52ee12
mov ebx, dword [esp + 0xdc]
jmp 0x52eda6
mov ebx, dword [esp + 0xdc]
jmp 0x52eda6
mov ebx, dword [esp + 0xdc]
cmp dword [ebx + 0x64], 3
jge 0x52edd0
mov dword [esp], ebx
mov dword [esp + 4], 3
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x530097
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
call fcn.00526c70
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.00526d30
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov eax, 1
jmp 0x52ee12
xor eax, eax
jmp 0x52ee12
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
xor eax, eax
mov ebp, dword [ebx + 0x64]
test ebp, ebp
jg 0x52ee4e
mov byte [esp + 0x23], al
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x530241
movzx eax, byte [esp + 0x23]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
test dl, dl
je 0x52ee70
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ecx, ebp
jbe 0x5305bc
mov esi, dword [ebx + 0x54]
add ebp, esi
cmp byte [ebp], 0x27
jne 0x52ee8d
jmp 0x530143
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ecx, ebp
jbe 0x5305b5
mov esi, dword [ebx + 0x54]
add ebp, esi
cmp byte [ebp], 0x22
je 0x530143
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x78]
jmp 0x530281
mov ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0x78]
jmp 0x52eec7
mov ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0x78]
jmp 0x52eec7
mov ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0x78]
test al, al
je 0x52f125
mov edx, dword [esp + 0x44]
test edx, edx
je 0x52eff7
mov ebp, dword [esp + 0x84]
cmp byte [ebp], 0xa
jne 0x52effe
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x52ef5b
mov edx, dword [esp + 0x3c]
inc edx
mov edi, dword [esp + 0x40]
cmp edi, edx
jb 0x52ef0a
mov ecx, dword [esp + 0x80]
jmp 0x52ef51
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x78]
mov byte [edx + ecx - 1], 0x20
jmp 0x52f116
mov eax, dword [esp + 0x3c]
lea ecx, [eax + edx]
mov edi, dword [esp + 0x40]
cmp edi, ecx
jae 0x52efac
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x80], ecx
mov ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edi
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.004617e0
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 ecx, dword [esp + 0x80]
jmp 0x52f116
mov ebp, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
lea ecx, [eax + edx]
mov edi, dword [esp + 0x40]
cmp edi, ecx
jae 0x52f056
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x80], ecx
mov ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], edi
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.004617e0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jb 0x52f093
mov ebp, dword [esp + 0x80]
jmp 0x52f0d0
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 + 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.004617e0
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 ecx, dword [esp + 0x80]
xor eax, eax
xor eax, eax
mov dword [esp + 0x34], eax
xor eax, eax
jmp 0x52ebde
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + eax]
mov ebp, dword [esp + 0x40]
cmp ebp, edx
jb 0x52f141
mov edi, dword [esp + 0x80]
jmp 0x52f182
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, [0x560b60]
mov dword [esp + 0x10], ecx
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x78]
mov ebp, edi
mov edi, ecx
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.004617e0
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 ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x44]
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
jmp 0x52ebde
nop
mov eax, dword [esp + 0xdc]
mov dword [eax], 3
mov dword [eax + 0x24], 0x1e
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x52f200
mov ecx, dword [eax + 0x20]
call fcn.00460ef0
mov dword [edi], ecx
lea ecx, [0x58e34f]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x23
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x52f239
mov ecx, dword [eax + 4]
call fcn.00460ef0
mov dword [edi], ecx
lea ecx, [0x58fbe2]
mov dword [eax + 4], 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 + 0xe8], 0
add esp, 0xd8
ret
nop
mov dword [eax], 3
mov dword [eax + 0x24], 0x1e
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x52f28e
mov ecx, dword [eax + 0x20]
call fcn.00460ef0
mov dword [edi], ecx
lea ecx, [0x58e34f]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x1e
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x52f2c7
mov ecx, dword [eax + 4]
call fcn.00460ef0
mov dword [edi], ecx
lea ecx, [0x58e36d]
mov dword [eax + 4], 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 + 0xe8], 0
add esp, 0xd8
ret
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov edi, edx
mov edx, ecx
mov ecx, eax
mov eax, ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x80], 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.00536da0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x52ee01
movzx edx, byte [esp + 0xe4]
test dl, dl
je 0x52f457
mov ebx, dword [esp + 0xdc]
mov ecx, dword [ebx + 0x58]
mov eax, dword [ebx + 0x60]
cmp ecx, eax
jbe 0x530c06
mov ebp, dword [ebx + 0x54]
lea esi, [eax + ebp]
movzx esi, byte [esi]
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x52f437
lea edi, [eax + 1]
cmp ecx, edi
jbe 0x530bff
lea ebp, [eax + ebp + 1]
cmp byte [ebp], 0x27
je 0x52f3a2
test dl, dl
jmp 0x52f439
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52f3b8
mov ebp, dword [esp + 0x80]
jmp 0x52f3f8
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
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.00526c70
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.00526c70
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x80]
jmp 0x53003f
test dl, dl
je 0x52f45e
cmp ecx, eax
jbe 0x530bfa
xchg esi, eax
cmp al, 0x27
xchg esi, eax
je 0x52ed86
test dl, dl
je 0x52f45e
jmp 0x530010
mov ebx, dword [esp + 0xdc]
mov ecx, dword [ebx + 0x58]
mov eax, dword [ebx + 0x60]
cmp ecx, eax
jbe 0x530bf5
mov ebp, dword [ebx + 0x54]
lea esi, [eax + ebp]
cmp byte [esi], 0x22
je 0x52edfd
test dl, dl
jne 0x530010
cmp ecx, eax
jbe 0x530bf0
movzx esi, byte [esi]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x52f59b
lea edi, [eax + 1]
cmp ecx, edi
jbe 0x530be9
movzx edi, byte [eax + ebp + 1]
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x52eda6
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x52eda6
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x52f4e5
lea ebx, [eax + 2]
cmp ecx, ebx
jbe 0x530be2
lea ebx, [eax + ebp + 2]
cmp byte [ebx], 0x85
je 0x52ed8d
mov ebx, dword [esp + 0xdc]
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52f597
lea ebx, [eax + 2]
cmp ecx, ebx
jbe 0x530bdb
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 0x52f539
xchg esi, eax
mov byte [esp + 0x26], al
xchg esi, eax
lea esi, [eax + 3]
cmp ecx, esi
jbe 0x530bd4
lea esi, [eax + ebp + 3]
cmp byte [esi], 0xa8
je 0x52ed96
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
movzx esi, byte [esp + 0x26]
jmp 0x52f53e
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52f587
cmp ecx, ebx
jbe 0x530bcd
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jne 0x52f577
lea ebx, [eax + 3]
cmp ecx, ebx
jbe 0x530bc6
lea ebx, [eax + ebp + 3]
cmp byte [ebx], 0xa9
je 0x52ed9f
test dl, dl
mov ebx, dword [esp + 0xdc]
movzx esi, byte [esp + 0x27]
jmp 0x52f59d
test dl, dl
mov ebx, dword [esp + 0xdc]
movzx esi, byte [esp + 0x27]
jmp 0x52f59d
test dl, dl
mov ebx, dword [esp + 0xdc]
movzx esi, byte [esp + 0x27]
jmp 0x52f59d
test dl, dl
jmp 0x52f59d
test dl, dl
jne 0x530010
cmp ecx, eax
jbe 0x530bc1
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x530010
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x530bba
movzx eax, byte [eax + ebp + 1]
cmp al, 0x5c
ja 0x52fb00
cmp al, 0x30
ja 0x52f7aa
cmp al, 0x20
ja 0x52f659
cmp al, 9
je 0x52fe80
cmp al, 0x20
jne 0x5300b5
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52f605
mov ebp, dword [esp + 0x80]
jmp 0x52f64d
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 0x20
xor esi, esi
jmp 0x52ff91
cmp al, 0x22
jne 0x52f6c8
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52f674
mov ebp, dword [esp + 0x80]
jmp 0x52f6bc
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 0x22
xor esi, esi
jmp 0x52ff91
cmp al, 0x27
jne 0x52f737
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52f6e3
mov ebp, dword [esp + 0x80]
jmp 0x52f72b
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 0x27
xor esi, esi
jmp 0x52ff91
cmp al, 0x30
jne 0x5300b5
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52f756
mov ebp, dword [esp + 0x80]
jmp 0x52f79e
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 0
xor esi, esi
jmp 0x52ff91
cmp al, 0x4e
ja 0x52f96e
cmp al, 0x4c
jne 0x52f8b4
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52f7d2
mov ebp, dword [esp + 0x80]
jmp 0x52f81a
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 0xe2
inc eax
cmp ecx, eax
jae 0x52f861
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x52f8a8
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x52ff91
cmp al, 0x4e
jne 0x5300b5
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52f8d3
mov ebp, dword [esp + 0x80]
jmp 0x52f91b
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 0xc2
inc eax
cmp ecx, eax
jae 0x52f962
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x52ff91
cmp al, 0x50
jne 0x52fa6f
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52f98d
mov ebp, dword [esp + 0x80]
jmp 0x52f9d5
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 0xe2
inc eax
cmp ecx, eax
jae 0x52fa1c
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x52fa63
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x52ff91
cmp al, 0x55
jne 0x52fa8d
mov esi, 8
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x80]
mov eax, dword [esp + 0x3c]
jmp 0x52ff91
cmp al, 0x5c
jne 0x5300b5
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52faac
mov ebp, dword [esp + 0x80]
jmp 0x52faf4
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 0x5c
xor esi, esi
jmp 0x52ff91
cmp al, 0x66
ja 0x52fd90
cmp al, 0x61
ja 0x52fc3f
cmp al, 0x5f
jne 0x52fbcc
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52fb31
mov ebp, dword [esp + 0x80]
jmp 0x52fb79
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 0xc2
inc eax
cmp ecx, eax
jae 0x52fbc0
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x52ff91
cmp al, 0x61
jne 0x5300b5
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52fbeb
mov ebp, dword [esp + 0x80]
jmp 0x52fc33
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 7
xor esi, esi
jmp 0x52ff91
cmp al, 0x62
jne 0x52fcae
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52fc5a
mov ebp, dword [esp + 0x80]
jmp 0x52fca2
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 8
xor esi, esi
jmp 0x52ff91
cmp al, 0x65
jne 0x52fd1d
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52fcc9
mov ebp, dword [esp + 0x80]
jmp 0x52fd11
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 0x1b
xor esi, esi
jmp 0x52ff91
cmp al, 0x66
jne 0x5300b5
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52fd3c
mov ebp, dword [esp + 0x80]
jmp 0x52fd84
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 0xc
xor esi, esi
jmp 0x52ff91
cmp al, 0x74
ja 0x52feea
cmp al, 0x6e
jne 0x52fe08
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52fdb4
mov ebp, dword [esp + 0x80]
jmp 0x52fdfc
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 0xa
xor esi, esi
jmp 0x52ff91
cmp al, 0x72
jne 0x52fe77
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52fe23
mov ebp, dword [esp + 0x80]
jmp 0x52fe6b
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 0xd
xor esi, esi
jmp 0x52ff91
cmp al, 0x74
jne 0x5300b5
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52fe96
mov ebp, dword [esp + 0x80]
jmp 0x52fede
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 9
xor esi, esi
jmp 0x52ff91
cmp al, 0x75
jne 0x52ff08
mov esi, 4
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x80]
mov eax, dword [esp + 0x3c]
jmp 0x52ff91
cmp al, 0x76
jne 0x52ff74
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x52ff23
mov ebp, dword [esp + 0x80]
jmp 0x52ff6b
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe4]
mov ebx, dword [esp + 0xdc]
mov ebp, ecx
mov ecx, edi
mov byte [eax + ebp - 1], 0xb
xor esi, esi
jmp 0x52ff91
cmp al, 0x78
jne 0x5300b5
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.00526c70
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.00526c70
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x52fffc
mov edx, dword [esp + 0xdc]
cmp dword [edx + 0x64], eax
jge 0x52fff3
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x5300a6
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xdc]
xor ecx, ecx
xor ebx, ebx
jmp 0x5305e3
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x80]
jmp 0x5305d2
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.00526f10
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 0x52f309
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.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x5305c3
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xdc]
jmp 0x52f309
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 [0x6c4f80]
test eax, eax
je 0x5300d7
mov eax, dword [ebx + 0x20]
call fcn.00460ef0
mov dword [edi], eax
lea eax, [0x58dd3b]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x30], eax
mov dword [ebx + 8], 0x1e
mov eax, dword [0x6c4f80]
test eax, eax
je 0x530110
mov eax, dword [ebx + 4]
call fcn.00460ef0
mov dword [edi], eax
lea eax, [0x58e38b]
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.00526c70
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, [0x5c0b40]
call fcn.0046154c
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x70]
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 [0x6c4f80]
test eax, eax
je 0x53020f
lea eax, [0x578460]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
call fcn.00410740
mov edi, dword [esp + 0xe0]
lea esi, [esp + 0x90]
call fcn.0046154c
movzx eax, byte [esp + 0xe4]
test al, al
jne 0x530232
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 ecx, esi
mov edi, dword [esp + 0x2c]
mov eax, ebx
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0x38], ecx
mov edx, dword [ebx + 0x58]
mov ecx, dword [ebx + 0x60]
cmp edx, ecx
jbe 0x5305ac
mov dword [esp + 0x48], 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 0x5303b8
xchg edi, eax
cmp al, 9
xchg edi, eax
je 0x5303b3
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x5303ac
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x5303a5
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x530306
lea esi, [ecx + 1]
cmp edx, esi
jbe 0x5305a3
lea esi, [ebp + ecx + 1]
cmp byte [esi], 0x85
je 0x5302f8
mov esi, dword [esp + 0x78]
jmp 0x530306
xchg edi, eax
cmp al, 0x20
xchg edi, eax
mov esi, dword [esp + 0x78]
jmp 0x5303b8
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52eec7
lea esi, [ecx + 1]
cmp edx, esi
jbe 0x53059a
lea ebx, [ebp + ecx + 1]
movzx ebx, byte [ebx]
cmp bl, 0x80
jne 0x53035f
lea eax, [ecx + 2]
cmp edx, eax
jbe 0x530593
lea eax, [ebp + ecx + 2]
cmp byte [eax], 0xa8
je 0x530348
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
movzx eax, byte [esp + 0x25]
jmp 0x530364
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 0x5303b8
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52eebc
cmp edx, esi
jbe 0x53058a
cmp bl, 0x80
jne 0x52eeaf
lea ebx, [ecx + 2]
cmp edx, ebx
jbe 0x530581
lea edx, [ebp + ecx + 2]
cmp byte [edx], 0xa9
jne 0x52eea2
xchg edi, eax
cmp al, 0x20
xchg edi, eax
mov ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0x78]
jmp 0x5303b8
xchg edi, eax
cmp al, 0x20
xchg edi, eax
jmp 0x5303b8
xchg edi, eax
cmp al, 0x20
xchg edi, eax
jmp 0x5303b8
xchg edi, eax
cmp al, 0x20
xchg edi, eax
je 0x5303c1
xchg edi, eax
cmp al, 9
xchg edi, eax
jne 0x53042e
test al, al
je 0x5303db
mov dword [esp], ebx
call fcn.00526c70
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x78]
jmp 0x530403
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.00526f10
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x2c], edi
mov edx, eax
movzx ebx, byte [esp + 0x25]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
jmp 0x5304f1
cmp dword [ebx + 0x64], 2
jge 0x530461
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x530572
movzx eax, byte [esp + 0x25]
mov ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0x78]
test al, al
je 0x5304b3
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.00527170
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 ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x84]
jmp 0x5304f1
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.00527170
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 0x530250
mov dword [esp + 0x68], ecx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], edi
mov byte [esp + 0x24], bl
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00523ed0
movzx eax, byte [esp + 8]
test al, al
je 0x530563
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x68]
movzx ebx, byte [esp + 0x24]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
jmp 0x530250
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.00460f60
mov eax, esi
mov ecx, edx
call fcn.00460f60
mov ecx, edx
call fcn.00460f60
mov eax, esi
mov ecx, edx
call fcn.00460f60
mov eax, esi
mov ecx, edx
call fcn.00460f60
mov eax, ecx
mov ecx, edx
call fcn.00460f60
mov eax, ebp
call fcn.00460f60
mov eax, ebp
call fcn.00460f60
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov ebx, edx
mov edx, eax
mov eax, ebx
jmp 0x53003f
shl ebx, 4
inc ecx
add ebx, ebp
cmp ecx, eax
jge 0x5306ef
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x60]
add esi, ecx
cmp ebp, esi
jbe 0x530bb1
mov ebp, dword [edx + 0x54]
movzx ebp, byte [esi + ebp]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x530661
xchg ebp, eax
cmp al, 0x39
xchg ebp, eax
jbe 0x53062c
xchg ebp, eax
cmp al, 0x41
xchg ebp, eax
jb 0x530661
xchg ebp, eax
cmp al, 0x46
xchg ebp, eax
jbe 0x53062c
xchg ebp, eax
cmp al, 0x61
xchg ebp, eax
jb 0x530661
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
ja 0x530661
lea esi, [ebp - 0x41]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x530640
xchg ebp, eax
movzx eax, al
xchg ebp, eax
add ebp, 0xffffffc9
jmp 0x5305dd
lea esi, [ebp - 0x61]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x530654
xchg ebp, eax
movzx esi, al
xchg ebp, eax
lea ebp, [esi - 0x57]
jmp 0x5305dd
xchg ebp, eax
movzx esi, al
xchg ebp, eax
lea ebp, [esi - 0x30]
jmp 0x5305dd
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov eax, dword [0x6c4f80]
test eax, eax
je 0x530683
mov eax, dword [edx + 0x20]
call fcn.00460ef0
mov dword [edi], eax
lea eax, [0x58dd3b]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x6c]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x74]
mov dword [edx + 0x30], eax
mov dword [edx + 8], 0x27
mov eax, dword [0x6c4f80]
test eax, eax
je 0x5306bc
mov eax, dword [edx + 4]
call fcn.00460ef0
mov dword [edi], eax
lea eax, [0x590c15]
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
lea ecx, [ebx - 0xd800]
cmp ecx, 0x7ff
jbe 0x530ae9
cmp ebx, 0x10ffff
jg 0x530ae9
mov dword [esp + 0x30], ebx
cmp ebx, 0x7f
jg 0x53077d
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x53072c
mov esi, dword [esp + 0x80]
jmp 0x530774
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x530ad3
cmp ebx, 0x7ff
jg 0x53084a
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x53079f
mov esi, dword [esp + 0x80]
jmp 0x5307e7
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x530838
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x530ad3
cmp ebx, 0xffff
jg 0x53096d
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x53086c
mov esi, dword [esp + 0x80]
jmp 0x5308b4
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x530905
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x53095b
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x530ad3
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x530983
mov esi, dword [esp + 0x80]
jmp 0x5309cb
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, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x530a1c
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x530a72
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x530ac6
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
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 0x530ba4
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov eax, dword [0x6c4f80]
test eax, eax
je 0x530b0b
mov eax, dword [edx + 0x20]
call fcn.00460ef0
mov dword [edi], eax
lea eax, [0x58dd3b]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x6c]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x74]
mov dword [edx + 0x30], eax
mov dword [edx + 8], 0x2b
mov eax, dword [0x6c4f80]
test eax, eax
je 0x530b44
mov eax, dword [edx + 4]
call fcn.00460ef0
mov dword [edi], eax
lea eax, [0x591b1d]
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.00526c70
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 0x530b77
mov eax, ebp
mov edx, esi
jmp 0x5305d2
mov eax, esi
mov ecx, ebp
call fcn.00460f60
mov eax, esi
call fcn.00460f60
call fcn.00460f60
mov eax, ebx
call fcn.00460f60
mov eax, ebx
call fcn.00460f60
mov eax, esi
call fcn.00460f60
mov eax, ebx
call fcn.00460f60
mov eax, ebx
call fcn.00460f60
mov eax, edi
call fcn.00460f60
call fcn.00460f60
call fcn.00460f60
call fcn.00460f60
mov eax, edi
call fcn.00460f60
call fcn.00460f60
mov eax, edx
call fcn.00460f60
mov eax, ebp
call fcn.00460f60
mov eax, ebp
call fcn.00460f60
mov eax, esi
call fcn.00460f60
mov eax, esi
call fcn.00460f60
mov eax, edx
call fcn.00460f60
nop
call fcn.0045faf0
jmp fcn.0052eb50