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

Disassembly:
mov ecx, dword [0x6cfe90]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x54]
cmp eax, dword [ecx + 8]
jbe 0x525b34
sub esp, 0xd4
mov edx, dword [esp + 0xd8]
mov ebx, dword [edx + 0x80]
lea ebp, [ebx + 1]
mov esi, dword [edx + 0x84]
mov edi, dword [edx + 0x88]
mov dword [edx + 0x80], ebp
inc dword [edx + 0x88]
dec dword [edx + 0x64]
mov ecx, dword [edx + 0x58]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x525b2e
mov ebp, dword [edx + 0x54]
movzx ebp, byte [ebp + eax]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x52374d
mov ecx, 1
jmp 0x523784
mov ecx, ebp
and ebp, 0xffffffe0
xchg ebp, eax
cmp al, 0xc0
xchg ebp, eax
jne 0x523760
mov ecx, 2
jmp 0x523784
mov ebp, ecx
and ecx, 0xfffffff0
cmp cl, 0xe0
jne 0x523771
mov ecx, 3
jmp 0x523784
and ebp, 0xfffffff8
xchg ebp, eax
cmp al, 0xf0
xchg ebp, eax
jne 0x523782
mov ecx, 4
jmp 0x523784
xor ecx, ecx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], esi
lea ebp, [ecx + eax]
mov dword [edx + 0x60], ebp
xor eax, eax
xor ecx, ecx
xor ebp, ebp
xor eax, eax
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x80], eax
xor eax, eax
mov dword [esp + 0x78], eax
xor eax, eax
jmp 0x5237fc
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x7c], eax
mov eax, edx
mov ecx, edi
mov edx, dword [esp + 0xd8]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x28], ebp
cmp dword [edx + 0x64], 4
jge 0x52384a
mov dword [esp], edx
mov dword [esp + 4], 4
call fcn.005187b0
movzx eax, byte [esp + 8]
test al, al
je 0x523f0a
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
mov ebp, dword [edx + 0x88]
test ebp, ebp
jne 0x523941
mov ebp, dword [edx + 0x58]
mov edi, dword [edx + 0x60]
cmp ebp, edi
jbe 0x525b25
mov esi, dword [edx + 0x54]
movzx ebx, byte [esi + edi]
cmp bl, 0x2d
jne 0x5238a4
lea eax, [edi + 1]
cmp ebp, eax
jbe 0x525b1e
lea eax, [esi + edi + 1]
cmp byte [eax], 0x2d
jne 0x5238a0
lea eax, [edi + 2]
cmp ebp, eax
jbe 0x525b17
lea eax, [esi + edi + 2]
cmp byte [eax], 0x2d
je 0x5238e3
mov eax, dword [esp + 0x3c]
jmp 0x5238a4
mov eax, dword [esp + 0x3c]
cmp bl, 0x2e
jne 0x523935
lea ebx, [edi + 1]
cmp ebp, ebx
jbe 0x525b0e
lea ebx, [esi + edi + 1]
cmp byte [ebx], 0x2e
jne 0x523927
lea ebx, [edi + 2]
cmp ebp, ebx
jbe 0x525b05
lea ebx, [esi + edi + 2]
cmp byte [ebx], 0x2e
je 0x5238e3
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
jmp 0x523941
mov eax, dword [edx + 0x5c]
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
lea eax, [edi + 3]
mov dword [esp + 0xc], eax
call fcn.005281b0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x523def
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
jmp 0x523941
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
jmp 0x523941
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
mov ebp, dword [edx + 0x58]
mov edi, dword [edx + 0x60]
cmp ebp, edi
jbe 0x525afc
mov ebp, dword [edx + 0x54]
movzx ebp, byte [ebp + edi]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x523e84
mov ebp, dword [esp + 0x7c]
jmp 0x523f21
xor eax, eax
jmp 0x523a5a
mov ebx, dword [esp + 0xd8]
jmp 0x52398a
mov ebx, dword [esp + 0xd8]
jmp 0x52398a
mov ebx, dword [esp + 0xd8]
cmp dword [ebx + 0x64], 3
jge 0x5239bc
mov dword [esp], ebx
mov dword [esp + 4], 3
call fcn.005187b0
movzx eax, byte [esp + 8]
test al, al
je 0x524e77
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
nop
inc dword [ebx + 0x80]
inc dword [ebx + 0x88]
dec dword [ebx + 0x64]
mov ecx, dword [ebx + 0x58]
mov eax, dword [ebx + 0x60]
cmp ecx, eax
jbe 0x525aa4
mov ecx, dword [ebx + 0x54]
movzx ecx, byte [ecx + eax]
test cl, 0x80
jne 0x5239ed
mov ecx, 1
jmp 0x523a22
mov ebp, ecx
and ecx, 0xffffffe0
cmp cl, 0xc0
jne 0x5239fe
mov ecx, 2
jmp 0x523a22
mov ecx, ebp
and ebp, 0xfffffff0
xchg ebp, eax
cmp al, 0xe0
xchg ebp, eax
jne 0x523a11
mov ecx, 3
jmp 0x523a22
and ecx, 0xfffffff8
cmp cl, 0xf0
jne 0x523a20
mov ecx, 4
jmp 0x523a22
xor ecx, ecx
add eax, ecx
mov dword [ebx + 0x60], eax
mov dword [esp], ebx
call fcn.0051ae70
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov eax, 1
jmp 0x523a5a
xor eax, eax
jmp 0x523a5a
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
xor eax, eax
mov ebp, dword [ebx + 0x64]
test ebp, ebp
jg 0x523a96
mov byte [esp + 0x20], al
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.005187b0
movzx eax, byte [esp + 8]
test al, al
je 0x52507c
movzx eax, byte [esp + 0x20]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
test dl, dl
je 0x523ab8
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ecx, ebp
jbe 0x525453
mov ecx, dword [ebx + 0x54]
add ebp, ecx
cmp byte [ebp], 0x27
jne 0x523ad5
jmp 0x524f23
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ecx, ebp
jbe 0x52544c
mov ecx, dword [ebx + 0x54]
add ebp, ecx
cmp byte [ebp], 0x22
je 0x524f23
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x74]
jmp 0x5250c1
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x74]
jmp 0x523b0f
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x74]
jmp 0x523b0f
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x74]
test al, al
je 0x523d49
mov edx, dword [esp + 0x44]
test edx, edx
je 0x523c30
mov esi, dword [esp + 0x80]
cmp byte [esi], 0xa
jne 0x523c37
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x523ba0
mov edx, dword [esp + 0x3c]
inc edx
mov edi, dword [esp + 0x40]
cmp edi, edx
jb 0x523b4e
mov eax, dword [esp + 0x7c]
jmp 0x523b96
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xd8]
mov esi, dword [esp + 0x80]
mov eax, ebp
mov edi, ecx
mov ebp, dword [esp + 0x74]
mov byte [edx + eax - 1], 0x20
jmp 0x523d3a
mov eax, dword [esp + 0x3c]
lea ecx, [edx + eax]
mov edi, dword [esp + 0x40]
cmp edi, ecx
jae 0x523beb
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x7c], ebp
mov edi, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ecx
mov ebx, dword [esp + 0x7c]
add eax, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004653a0
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x7c]
jmp 0x523d3a
mov esi, dword [esp + 0x80]
mov eax, dword [esp + 0x3c]
lea ecx, [edx + eax]
mov edi, dword [esp + 0x40]
cmp edi, ecx
jae 0x523c89
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x80]
mov edi, eax
mov dword [esp + 0x7c], ebp
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edi
mov ebx, dword [esp + 0x7c]
add eax, ebx
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
call fcn.004653a0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jb 0x523cc0
mov ebp, dword [esp + 0x7c]
jmp 0x523cfa
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
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 + 0x3c], edx
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x40], ebx
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004653a0
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x7c]
xor ecx, ecx
xor ecx, ecx
mov dword [esp + 0x34], ecx
xor ecx, ecx
jmp 0x5237d9
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
lea edx, [ecx + eax]
mov esi, dword [esp + 0x40]
cmp esi, edx
jb 0x523d62
mov edi, dword [esp + 0x7c]
jmp 0x523da0
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov edi, ebp
mov esi, ecx
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x7c], edi
add eax, edi
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call fcn.004653a0
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x44]
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x7c]
jmp 0x5237d9
nop
mov eax, dword [esp + 0xd8]
mov dword [eax], 3
mov dword [eax + 0x24], 0x1e
mov ecx, dword [0x6cff38]
test ecx, ecx
je 0x523e18
mov ecx, dword [eax + 0x20]
call fcn.00464ab0
mov dword [edi], ecx
lea ecx, [0x583b78]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x23
mov ecx, dword [0x6cff38]
test ecx, ecx
je 0x523e51
mov ecx, dword [eax + 4]
call fcn.00464ab0
mov dword [edi], ecx
lea ecx, [0x58547a]
mov dword [eax + 4], ecx
mov ecx, dword [eax + 0x80]
mov edx, dword [eax + 0x84]
mov ebx, dword [eax + 0x88]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], ebx
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1e
mov eax, dword [0x6cff38]
test eax, eax
je 0x523ea6
mov eax, dword [edx + 0x20]
call fcn.00464ab0
mov dword [edi], eax
lea eax, [0x583b78]
mov dword [edx + 0x20], eax
mov dword [edx + 0x28], ebx
mov dword [edx + 0x2c], esi
mov eax, dword [esp + 0x6c]
mov dword [edx + 0x30], eax
mov dword [edx + 8], 0x1e
mov eax, dword [0x6cff38]
test eax, eax
je 0x523ed7
mov eax, dword [edx + 4]
call fcn.00464ab0
mov dword [edi], eax
lea eax, [0x583b96]
mov dword [edx + 4], eax
mov eax, dword [edx + 0x80]
mov ecx, dword [edx + 0x84]
mov ebx, dword [edx + 0x88]
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], ecx
mov dword [edx + 0x1c], ebx
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov ebp, eax
mov eax, ecx
mov ecx, edx
mov edx, ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x7c], ebp
mov ebx, dword [edx + 0x54]
mov esi, dword [edx + 0x58]
mov edi, dword [edx + 0x5c]
mov ebp, dword [edx + 0x60]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
call fcn.005281b0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x523a49
movzx edx, byte [esp + 0xe0]
test dl, dl
je 0x52414d
mov ebx, dword [esp + 0xd8]
mov ecx, dword [ebx + 0x58]
mov eax, dword [ebx + 0x60]
cmp ecx, eax
jbe 0x525af7
mov ebp, dword [ebx + 0x54]
lea esi, [eax + ebp]
movzx esi, byte [esi]
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x52412d
lea edi, [eax + 1]
cmp ecx, edi
jbe 0x525af0
lea ebp, [eax + ebp + 1]
cmp byte [ebp], 0x27
jne 0x524129
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x523fbf
mov eax, dword [esp + 0x7c]
jmp 0x524008
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, ebp
mov ebp, eax
mov eax, edi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x3c], ebp
mov byte [ebp + eax - 1], 0x27
mov edi, dword [ebx + 0x80]
lea ecx, [edi + 1]
nop
mov dword [ebx + 0x80], ecx
mov ecx, dword [ebx + 0x88]
lea edx, [ecx + 1]
mov dword [ebx + 0x88], edx
mov edx, dword [ebx + 0x64]
lea eax, [edx - 1]
mov dword [ebx + 0x64], eax
mov eax, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp eax, ebp
jbe 0x525ae7
mov eax, dword [ebx + 0x54]
movzx eax, byte [eax + ebp]
test al, 0x80
jne 0x52405e
mov eax, 1
jmp 0x5240a7
mov byte [esp + 0x23], al
and eax, 0xffffffe0
cmp al, 0xc0
jne 0x524071
mov eax, 2
jmp 0x5240a7
mov eax, esi
movzx esi, byte [esp + 0x23]
and esi, 0xfffffff0
xchg esi, eax
cmp al, 0xe0
xchg esi, eax
jne 0x52408b
mov esi, eax
mov eax, 3
jmp 0x5240a7
movzx esi, byte [esp + 0x23]
and esi, 0xfffffff8
xchg esi, eax
cmp al, 0xf0
xchg esi, eax
jne 0x5240a3
mov esi, eax
mov eax, 4
jmp 0x5240a7
mov esi, eax
xor eax, eax
add eax, ebp
mov dword [ebx + 0x60], eax
lea ebp, [edi + 2]
lea edi, [ecx + 2]
add edx, 0xfffffffe
mov dword [ebx + 0x80], ebp
mov dword [ebx + 0x88], edi
mov dword [ebx + 0x64], edx
mov ecx, dword [ebx + 0x58]
cmp ecx, eax
jbe 0x525ae2
mov ecx, dword [ebx + 0x54]
movzx ecx, byte [eax + ecx]
test cl, 0x80
jne 0x5240e2
mov ecx, 1
jmp 0x524115
mov edx, ecx
and ecx, 0xffffffe0
cmp cl, 0xc0
jne 0x5240f3
mov ecx, 2
jmp 0x524115
mov ecx, edx
and edx, 0xfffffff0
cmp dl, 0xe0
jne 0x524104
mov ecx, 3
jmp 0x524115
and ecx, 0xfffffff8
cmp cl, 0xf0
jne 0x524113
mov ecx, 4
jmp 0x524115
xor ecx, ecx
add ecx, eax
mov dword [ebx + 0x60], ecx
mov edx, esi
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x7c]
jmp 0x524e1f
test dl, dl
jmp 0x52412f
test dl, dl
je 0x524154
cmp ecx, eax
jbe 0x525add
xchg esi, eax
cmp al, 0x27
xchg esi, eax
je 0x52396a
test dl, dl
je 0x524154
jmp 0x524df3
mov ebx, dword [esp + 0xd8]
mov ecx, dword [ebx + 0x58]
mov eax, dword [ebx + 0x60]
cmp ecx, eax
jbe 0x525ad8
mov ebp, dword [ebx + 0x54]
lea esi, [eax + ebp]
cmp byte [esi], 0x22
je 0x523a45
test dl, dl
jne 0x524df3
cmp ecx, eax
jbe 0x525ad3
movzx esi, byte [esi]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x524291
lea edi, [eax + 1]
cmp ecx, edi
jbe 0x525acc
movzx edi, byte [eax + ebp + 1]
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x52398a
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x52398a
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x5241db
lea ebx, [eax + 2]
cmp ecx, ebx
jbe 0x525ac5
lea ebx, [eax + ebp + 2]
cmp byte [ebx], 0x85
je 0x523971
mov ebx, dword [esp + 0xd8]
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52428d
lea ebx, [eax + 2]
cmp ecx, ebx
jbe 0x525abe
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 0x52422f
xchg esi, eax
mov byte [esp + 0x26], al
xchg esi, eax
lea esi, [eax + 3]
cmp ecx, esi
jbe 0x525ab7
lea esi, [eax + ebp + 3]
cmp byte [esi], 0xa8
je 0x52397a
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
movzx esi, byte [esp + 0x26]
jmp 0x524234
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x52427d
cmp ecx, ebx
jbe 0x525ab0
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jne 0x52426d
lea ebx, [eax + 3]
cmp ecx, ebx
jbe 0x525aa9
lea ebx, [eax + ebp + 3]
cmp byte [ebx], 0xa9
je 0x523983
test dl, dl
mov ebx, dword [esp + 0xd8]
movzx esi, byte [esp + 0x27]
jmp 0x524293
test dl, dl
mov ebx, dword [esp + 0xd8]
movzx esi, byte [esp + 0x27]
jmp 0x524293
test dl, dl
mov ebx, dword [esp + 0xd8]
movzx esi, byte [esp + 0x27]
jmp 0x524293
test dl, dl
jmp 0x524293
test dl, dl
jne 0x524df3
cmp ecx, eax
jbe 0x525a9f
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x524df3
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x525a98
movzx ebp, byte [eax + ebp + 1]
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
ja 0x5247ff
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
ja 0x5244a8
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
ja 0x524357
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x524b87
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
jne 0x524e95
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x524302
mov eax, dword [esp + 0x7c]
jmp 0x52434b
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, ebp
mov ebp, eax
mov eax, edi
mov byte [ebp + eax - 1], 0x20
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
jne 0x5243c6
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x524371
mov eax, dword [esp + 0x7c]
jmp 0x5243ba
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, ebp
mov ebp, eax
mov eax, edi
mov byte [ebp + eax - 1], 0x22
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x27
xchg ebp, eax
jne 0x524435
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x5243e0
mov eax, dword [esp + 0x7c]
jmp 0x524429
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, ebp
mov ebp, eax
mov eax, edi
mov byte [ebp + eax - 1], 0x27
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jne 0x524e95
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x524453
mov eax, dword [esp + 0x7c]
jmp 0x52449c
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, ebp
mov ebp, eax
mov eax, edi
mov byte [ebp + eax - 1], 0
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x4e
xchg ebp, eax
ja 0x52466e
xchg ebp, eax
cmp al, 0x4c
xchg ebp, eax
jne 0x5245b4
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x5244d1
mov eax, dword [esp + 0x7c]
jmp 0x52451a
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, eax
mov eax, ebp
mov ebp, edi
mov byte [ebp + eax - 1], 0xe2
inc ebp
cmp esi, ebp
jae 0x524561
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov byte [ebp + eax - 1], pe_nt_image_headers32
inc ebp
cmp esi, ebp
jae 0x5245a8
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov byte [ebp + eax - 1], 0xa8
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x4e
xchg ebp, eax
jne 0x524e95
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x5245d2
mov eax, dword [esp + 0x7c]
jmp 0x52461b
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, eax
mov eax, ebp
mov ebp, edi
mov byte [ebp + eax - 1], 0xc2
inc ebp
cmp esi, ebp
jae 0x524662
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov byte [ebp + eax - 1], 0x85
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x50
xchg ebp, eax
jne 0x52476f
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x52468c
mov eax, dword [esp + 0x7c]
jmp 0x5246d5
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, eax
mov eax, ebp
mov ebp, edi
mov byte [ebp + eax - 1], 0xe2
inc ebp
cmp esi, ebp
jae 0x52471c
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov byte [ebp + eax - 1], pe_nt_image_headers32
inc ebp
cmp esi, ebp
jae 0x524763
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov byte [ebp + eax - 1], 0xa9
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x55
xchg ebp, eax
jne 0x52478c
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x7c]
mov ebp, dword [esp + 0x3c]
mov ecx, 8
jmp 0x524c94
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x524e95
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x5247aa
mov eax, dword [esp + 0x7c]
jmp 0x5247f3
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, ebp
mov ebp, eax
mov eax, edi
mov byte [ebp + eax - 1], 0x5c
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
ja 0x524a93
xchg ebp, eax
cmp al, 0x61
xchg ebp, eax
ja 0x524942
xchg ebp, eax
cmp al, 0x5f
xchg ebp, eax
jne 0x5248cf
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x524833
mov eax, dword [esp + 0x7c]
jmp 0x52487c
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, eax
mov eax, ebp
mov ebp, edi
mov byte [ebp + eax - 1], 0xc2
inc ebp
cmp esi, ebp
jae 0x5248c3
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov byte [ebp + eax - 1], 0xa0
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x61
xchg ebp, eax
jne 0x524e95
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x5248ed
mov eax, dword [esp + 0x7c]
jmp 0x524936
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, ebp
mov ebp, eax
mov eax, edi
mov byte [ebp + eax - 1], 7
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x62
xchg ebp, eax
jne 0x5249b1
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x52495c
mov eax, dword [esp + 0x7c]
jmp 0x5249a5
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, ebp
mov ebp, eax
mov eax, edi
mov byte [ebp + eax - 1], 8
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x65
xchg ebp, eax
jne 0x524a20
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x5249cb
mov eax, dword [esp + 0x7c]
jmp 0x524a14
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, ebp
mov ebp, eax
mov eax, edi
mov byte [ebp + eax - 1], 0x1b
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
jne 0x524e95
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x524a3e
mov eax, dword [esp + 0x7c]
jmp 0x524a87
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, ebp
mov ebp, eax
mov eax, edi
mov byte [ebp + eax - 1], 0xc
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x74
xchg ebp, eax
ja 0x524bef
xchg ebp, eax
cmp al, 0x6e
xchg ebp, eax
jne 0x524b0d
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x524ab8
mov eax, dword [esp + 0x7c]
jmp 0x524b01
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, ebp
mov ebp, eax
mov eax, edi
mov byte [ebp + eax - 1], 0xa
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x72
xchg ebp, eax
jne 0x524b7c
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x524b27
mov eax, dword [esp + 0x7c]
jmp 0x524b70
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, ebp
mov ebp, eax
mov eax, edi
mov byte [ebp + eax - 1], 0xd
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x74
xchg ebp, eax
jne 0x524e95
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x524b9a
mov eax, dword [esp + 0x7c]
jmp 0x524be3
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, ebp
mov ebp, eax
mov eax, edi
mov byte [ebp + eax - 1], 9
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x75
xchg ebp, eax
jne 0x524c0c
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x7c]
mov ebp, dword [esp + 0x3c]
mov ecx, 4
jmp 0x524c94
xchg ebp, eax
cmp al, 0x76
xchg ebp, eax
jne 0x524c78
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x524c26
mov eax, dword [esp + 0x7c]
jmp 0x524c6f
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xe0]
mov ebx, dword [esp + 0xd8]
mov esi, ecx
mov edi, ebp
mov ebp, eax
mov eax, edi
mov byte [ebp + eax - 1], 0xb
xor ecx, ecx
jmp 0x524c94
xchg ebp, eax
cmp al, 0x78
xchg ebp, eax
jne 0x524e95
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x7c]
mov ebp, dword [esp + 0x3c]
mov ecx, 2
mov dword [esp + 0x40], esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x3c], ebp
mov edi, dword [ebx + 0x80]
lea edx, [edi + 1]
nop
mov dword [ebx + 0x80], edx
mov edx, dword [ebx + 0x88]
lea eax, [edx + 1]
mov dword [ebx + 0x88], eax
mov eax, dword [ebx + 0x64]
lea ebp, [eax - 1]
mov dword [ebx + 0x64], ebp
mov ebp, dword [ebx + 0x58]
mov esi, dword [ebx + 0x60]
cmp ebp, esi
jbe 0x525a8f
mov ebp, dword [ebx + 0x54]
movzx ebp, byte [ebp + esi]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x524cec
mov ebp, 1
jmp 0x524d31
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
and ebp, 0xffffffe0
xchg ebp, eax
cmp al, 0xc0
xchg ebp, eax
jne 0x524d03
mov ebp, 2
jmp 0x524d31
movzx ebp, byte [esp + 0x22]
and ebp, 0xfffffff0
xchg ebp, eax
cmp al, 0xe0
xchg ebp, eax
jne 0x524d19
mov ebp, 3
jmp 0x524d31
movzx ebp, byte [esp + 0x22]
and ebp, 0xfffffff8
xchg ebp, eax
cmp al, 0xf0
xchg ebp, eax
jne 0x524d2f
mov ebp, 4
jmp 0x524d31
xor ebp, ebp
add ebp, esi
mov dword [ebx + 0x60], ebp
lea esi, [edi + 2]
add edx, 2
lea edi, [eax - 2]
nop
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x88], edx
mov dword [ebx + 0x64], edi
mov edx, dword [ebx + 0x58]
cmp edx, ebp
jbe 0x525a86
mov edx, dword [ebx + 0x54]
movzx edx, byte [ebp + edx]
test dl, 0x80
jne 0x524d6e
mov eax, 1
jmp 0x524da3
mov esi, edx
and edx, 0xffffffe0
cmp dl, 0xc0
jne 0x524d7f
mov eax, 2
jmp 0x524da3
mov edx, esi
and esi, 0xfffffff0
xchg esi, eax
cmp al, 0xe0
xchg esi, eax
jne 0x524d92
mov eax, 3
jmp 0x524da3
and edx, 0xfffffff8
cmp dl, 0xf0
jne 0x524da1
mov eax, 4
jmp 0x524da3
xor eax, eax
lea edx, [eax + ebp]
mov dword [ebx + 0x60], edx
test ecx, ecx
jle 0x524de2
mov dword [esp + 0x4c], ecx
cmp ecx, edi
jle 0x524dd9
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.005187b0
movzx eax, byte [esp + 8]
test al, al
je 0x524e86
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xd8]
xor eax, eax
xor edx, edx
jmp 0x52547c
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x7c]
jmp 0x525469
mov dword [esp], ebx
mov eax, dword [esp + 0x7c]
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.0051b040
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xd8]
cmp dword [ebx + 0x64], 2
jge 0x523f19
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x84], eax
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.005187b0
movzx eax, byte [esp + 8]
test al, al
je 0x52545a
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0xd8]
jmp 0x523f19
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
nop
mov dword [ebx], 3
mov dword [ebx + 0x24], 0x1d
mov eax, dword [0x6cff38]
test eax, eax
je 0x524eb7
mov eax, dword [ebx + 0x20]
call fcn.00464ab0
mov dword [edi], eax
lea eax, [0x583545]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x70]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x30], eax
mov dword [ebx + 8], 0x1e
mov eax, dword [0x6cff38]
test eax, eax
je 0x524ef0
mov eax, dword [ebx + 4]
call fcn.00464ab0
mov dword [edi], eax
lea eax, [0x583bb4]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x80]
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebx + 0x88]
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x1c], edx
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov ebp, dword [ebx + 0x80]
inc ebp
nop
mov dword [ebx + 0x80], ebp
mov eax, dword [ebx + 0x88]
inc eax
mov dword [ebx + 0x88], eax
dec dword [ebx + 0x64]
mov ecx, dword [ebx + 0x58]
mov esi, dword [ebx + 0x60]
cmp esi, ecx
jae 0x52508b
mov ecx, dword [ebx + 0x54]
movzx ecx, byte [ecx + esi]
test cl, 0x80
jne 0x524f62
mov ecx, 1
jmp 0x524f97
mov edi, ecx
and ecx, 0xffffffe0
cmp cl, 0xc0
jne 0x524f73
mov ecx, 2
jmp 0x524f97
mov ecx, edi
and edi, 0xfffffff0
xchg edi, eax
cmp al, 0xe0
xchg edi, eax
jne 0x524f86
mov ecx, 3
jmp 0x524f97
and ecx, 0xfffffff8
cmp cl, 0xf0
jne 0x524f95
mov ecx, 4
jmp 0x524f97
xor ecx, ecx
add ecx, esi
mov dword [ebx + 0x60], ecx
mov ecx, dword [ebx + 0x84]
mov dword [esp + 0x64], ecx
lea edi, [esp + 0x8c]
lea esi, [0x5b6bc0]
call fcn.0046510c
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], ebp
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xb4], eax
mov edi, dword [esp + 0xdc]
test byte [edi], al
mov eax, dword [0x6cff38]
test eax, eax
je 0x525052
lea eax, [0x56faa0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x8c]
mov dword [esp + 8], eax
call fcn.004113a0
movzx edx, byte [esp + 0xe0]
mov edi, dword [esp + 0xdc]
lea esi, [esp + 0x8c]
call fcn.0046510c
test dl, dl
jne 0x52506d
mov eax, dword [esp + 0xdc]
mov byte [eax + 0x44], 3
mov byte [esp + 0xe4], 1
add esp, 0xd4
ret
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov eax, esi
call fcn.00464b30
mov edx, dword [esp + 0xd8]
movzx edx, byte [esp + 0xe0]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x44], ecx
mov dword [esp + 0x80], eax
mov ebp, dword [esp + 0x74]
mov ecx, dword [esp + 0x2c]
mov eax, ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 0x38], esi
mov edx, dword [ebx + 0x58]
mov esi, dword [ebx + 0x60]
cmp edx, esi
jbe 0x525443
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x48], edi
mov dword [esp + 0x74], ebp
mov byte [esp + 0x25], al
mov edi, dword [ebx + 0x54]
movzx ecx, byte [edi + esi]
cmp cl, 0x20
je 0x5251d7
cmp cl, 9
jne 0x525100
cmp cl, 0x20
jmp 0x5251d7
cmp cl, 0xd
jne 0x52510d
cmp cl, 0x20
jmp 0x5251d7
cmp cl, 0xa
jne 0x52511a
cmp cl, 0x20
jmp 0x5251d7
cmp cl, 0xc2
jne 0x525144
lea ebp, [esi + 1]
cmp edx, ebp
jbe 0x52543a
lea ebp, [edi + esi + 1]
cmp byte [ebp], 0x85
jne 0x525140
cmp cl, 0x20
mov ebp, dword [esp + 0x74]
jmp 0x5251d7
mov ebp, dword [esp + 0x74]
cmp cl, 0xe2
jne 0x523b0f
lea ebp, [esi + 1]
cmp edx, ebp
jbe 0x525431
lea ebx, [edi + esi + 1]
movzx ebx, byte [ebx]
cmp bl, 0x80
jne 0x525197
lea eax, [esi + 2]
cmp edx, eax
jbe 0x52542a
lea eax, [edi + esi + 2]
cmp byte [eax], 0xa8
jne 0x52518d
cmp cl, 0x20
movzx eax, byte [esp + 0x25]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x74]
jmp 0x5251d7
cmp cl, 0xe2
movzx eax, byte [esp + 0x25]
jmp 0x52519a
cmp cl, 0xe2
jne 0x523b04
cmp edx, ebp
jbe 0x525421
cmp bl, 0x80
jne 0x523af7
lea ebx, [esi + 2]
cmp edx, ebx
jbe 0x525418
lea edx, [edi + esi + 2]
cmp byte [edx], 0xa9
jne 0x523aea
cmp cl, 0x20
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x74]
je 0x5251e2
cmp cl, 9
jne 0x5252c0
test al, al
je 0x525260
inc dword [ebx + 0x80]
inc dword [ebx + 0x88]
dec dword [ebx + 0x64]
mov ecx, dword [ebx + 0x58]
mov edx, dword [ebx + 0x60]
cmp ecx, edx
jbe 0x525411
mov esi, dword [ebx + 0x54]
movzx esi, byte [esi + edx]
xchg esi, eax
test al, 0x80
xchg esi, eax
jne 0x525218
mov ecx, 1
jmp 0x525251
mov edi, esi
and esi, 0xffffffe0
xchg esi, eax
cmp al, 0xc0
xchg esi, eax
jne 0x52522b
mov ecx, 2
jmp 0x525251
mov esi, edi
and edi, 0xfffffff0
xchg edi, eax
cmp al, 0xe0
xchg edi, eax
jne 0x52523e
mov ecx, 3
jmp 0x525251
and esi, 0xfffffff8
xchg esi, eax
cmp al, 0xf0
xchg esi, eax
jne 0x52524f
mov ecx, 4
jmp 0x525251
xor ecx, ecx
add edx, ecx
mov dword [ebx + 0x60], edx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
jmp 0x525298
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
call fcn.0051b040
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0xd8]
mov edx, ecx
mov ecx, eax
movzx eax, byte [esp + 0x25]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x2c], edx
mov edi, dword [esp + 0x48]
mov ebx, eax
mov dword [esp + 0x74], ebp
mov eax, dword [esp + 0x80]
mov edx, ecx
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
jmp 0x525381
cmp dword [ebx + 0x64], 2
jge 0x5252f3
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.005187b0
movzx eax, byte [esp + 8]
test al, al
je 0x525402
movzx eax, byte [esp + 0x25]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x74]
test al, al
je 0x525343
mov dword [esp], ebx
mov eax, dword [esp + 0x78]
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.0051b270
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x48]
movzx ebx, byte [esp + 0x25]
mov ebp, ecx
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x80]
jmp 0x525381
mov dword [esp], ebx
mov eax, dword [esp + 0x80]
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.0051b270
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
xor edx, edx
mov ebx, 1
mov esi, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xd8]
mov edx, dword [edx + 0x64]
test edx, edx
jg 0x525092
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], ebp
mov dword [esp + 0x88], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], edi
mov byte [esp + 0x24], bl
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.005187b0
movzx eax, byte [esp + 8]
test al, al
je 0x5253f3
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x5c]
movzx ebx, byte [esp + 0x24]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x58]
jmp 0x525092
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov eax, edx
call fcn.00464b30
mov eax, ebx
mov ecx, edx
call fcn.00464b30
mov eax, ebp
mov ecx, edx
call fcn.00464b30
mov ecx, edx
call fcn.00464b30
mov eax, ebp
mov ecx, edx
call fcn.00464b30
mov eax, ebp
mov ecx, edx
call fcn.00464b30
mov eax, esi
mov ecx, edx
call fcn.00464b30
mov eax, ebp
call fcn.00464b30
mov eax, ebp
call fcn.00464b30
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
mov ebp, ecx
mov ecx, eax
mov eax, edx
mov edx, ebp
jmp 0x524e1f
shl edx, 4
inc eax
add edx, ebp
cmp eax, ecx
jge 0x525588
mov ebp, dword [ebx + 0x58]
mov esi, dword [ebx + 0x60]
add esi, eax
cmp ebp, esi
jbe 0x525a7d
mov ebp, dword [ebx + 0x54]
movzx ebp, byte [esi + ebp]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x5254fa
xchg ebp, eax
cmp al, 0x39
xchg ebp, eax
jbe 0x5254c5
xchg ebp, eax
cmp al, 0x41
xchg ebp, eax
jb 0x5254fa
xchg ebp, eax
cmp al, 0x46
xchg ebp, eax
jbe 0x5254c5
xchg ebp, eax
cmp al, 0x61
xchg ebp, eax
jb 0x5254fa
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
ja 0x5254fa
lea esi, [ebp - 0x41]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x5254d9
xchg ebp, eax
movzx eax, al
xchg ebp, eax
add ebp, 0xffffffc9
jmp 0x525476
lea esi, [ebp - 0x61]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x5254ed
xchg ebp, eax
movzx esi, al
xchg ebp, eax
lea ebp, [esi - 0x57]
jmp 0x525476
xchg ebp, eax
movzx esi, al
xchg ebp, eax
lea ebp, [esi - 0x30]
jmp 0x525476
nop
mov dword [ebx], 3
mov dword [ebx + 0x24], 0x1d
mov eax, dword [0x6cff38]
test eax, eax
je 0x52551c
mov eax, dword [ebx + 0x20]
call fcn.00464ab0
mov dword [edi], eax
lea eax, [0x583545]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x70]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x30], eax
mov dword [ebx + 8], 0x27
mov eax, dword [0x6cff38]
test eax, eax
je 0x525555
mov eax, dword [ebx + 4]
call fcn.00464ab0
mov dword [edi], eax
lea eax, [0x586334]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x84]
mov ecx, dword [ebx + 0x88]
mov edx, dword [ebx + 0x80]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
lea ebp, [edx - 0xd800]
cmp ebp, 0x7ff
jbe 0x525965
cmp edx, 0x10ffff
jg 0x525965
mov dword [esp + 0x30], edx
cmp edx, 0x7f
jg 0x52560c
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x5255c2
mov eax, dword [esp + 0x7c]
jmp 0x525603
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0xd8]
mov byte [ebp + eax - 1], dl
jmp 0x5259f9
cmp edx, 0x7ff
jg 0x5256d5
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x52562b
mov eax, dword [esp + 0x7c]
jmp 0x52566c
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0xd8]
mov edi, edx
sar edx, 6
add edx, 0xc0
mov byte [ebp + eax - 1], dl
lea edx, [ebp + 1]
cmp esi, edx
jae 0x5256bf
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xd8]
mov edi, dword [esp + 0x30]
and edi, 0x3f
lea ebp, [edi + 0x80]
xchg ebp, ebx
mov byte [edx + eax - 1], bl
xchg ebp, ebx
jmp 0x52595e
cmp edx, 0xffff
jg 0x5257f6
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x5256f4
mov eax, dword [esp + 0x7c]
jmp 0x525735
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0xd8]
mov edi, edx
sar edx, 0xc
add edx, 0xe0
mov byte [ebp + eax - 1], dl
lea edx, [ebp + 1]
cmp esi, edx
jae 0x525788
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xd8]
mov edi, dword [esp + 0x30]
mov ebp, edi
sar edi, 6
and edi, 0x3f
add edi, 0x80
xchg edi, ebx
mov byte [edx + eax - 1], bl
xchg edi, ebx
inc edx
cmp esi, edx
jae 0x5257e0
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x30]
and ebp, 0x3f
add ebp, 0x80
xchg ebp, ebx
mov byte [edx + eax - 1], bl
xchg ebp, ebx
jmp 0x52595e
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x40]
cmp esi, ebp
jb 0x525809
mov eax, dword [esp + 0x7c]
jmp 0x52584a
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0xd8]
mov edi, edx
sar edx, 0x12
add edx, 0xf0
mov byte [ebp + eax - 1], dl
lea edx, [ebp + 1]
cmp esi, edx
jae 0x52589d
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xd8]
mov edi, dword [esp + 0x30]
mov ebp, edi
sar edi, 0xc
and edi, 0x3f
add edi, 0x80
xchg edi, ebx
mov byte [edx + eax - 1], bl
xchg edi, ebx
inc edx
cmp esi, edx
jae 0x5258f5
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x30]
mov edi, ebp
sar ebp, 6
and ebp, 0x3f
add ebp, 0x80
xchg ebp, ebx
mov byte [edx + eax - 1], bl
xchg ebp, ebx
inc edx
cmp esi, edx
jae 0x52594d
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x557560]
mov dword [esp + 0x10], eax
call fcn.0044b670
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xd8]
mov edi, dword [esp + 0x30]
and edi, 0x3f
lea ebp, [edi + 0x80]
xchg ebp, ebx
mov byte [edx + eax - 1], bl
xchg ebp, ebx
mov ebp, edx
jmp 0x5259f9
nop
mov dword [ebx], 3
mov dword [ebx + 0x24], 0x1d
mov eax, dword [0x6cff38]
test eax, eax
je 0x525987
mov eax, dword [ebx + 0x20]
call fcn.00464ab0
mov dword [edi], eax
lea eax, [0x583545]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x70]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x30], eax
mov dword [ebx + 8], 0x2b
mov eax, dword [0x6cff38]
test eax, eax
je 0x5259c0
mov eax, dword [ebx + 4]
call fcn.00464ab0
mov dword [edi], eax
lea eax, [0x5871be]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x80]
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebx + 0x88]
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x1c], edx
mov byte [esp + 0xe4], 0
add esp, 0xd4
ret
add edx, edi
mov dword [ebx + 0x60], edx
dec ecx
test ecx, ecx
jle 0x525a69
nop
inc dword [ebx + 0x80]
inc dword [ebx + 0x88]
dec dword [ebx + 0x64]
mov edx, dword [ebx + 0x58]
mov edi, dword [ebx + 0x60]
cmp edx, edi
jbe 0x525a74
mov edx, dword [ebx + 0x54]
movzx edx, byte [edx + edi]
test dl, 0x80
jne 0x525a2a
mov edx, 1
jmp 0x5259f3
mov byte [esp + 0x21], dl
and edx, 0xffffffe0
cmp dl, 0xc0
jne 0x525a3d
mov edx, 2
jmp 0x5259f3
movzx edx, byte [esp + 0x21]
and edx, 0xfffffff0
cmp dl, 0xe0
jne 0x525a51
mov edx, 3
jmp 0x5259f3
movzx edx, byte [esp + 0x21]
and edx, 0xfffffff8
cmp dl, 0xf0
jne 0x525a65
mov edx, 4
jmp 0x5259f3
xor edx, edx
jmp 0x5259f3
mov ecx, esi
mov edx, eax
mov eax, ebp
jmp 0x525469
mov eax, edi
mov ecx, edx
call fcn.00464b30
mov eax, esi
mov ecx, ebp
call fcn.00464b30
mov eax, ebp
mov ecx, edx
call fcn.00464b30
mov eax, esi
mov ecx, ebp
call fcn.00464b30
mov eax, esi
call fcn.00464b30
call fcn.00464b30
call fcn.00464b30
mov eax, ebx
call fcn.00464b30
mov eax, ebx
call fcn.00464b30
mov eax, esi
call fcn.00464b30
mov eax, ebx
call fcn.00464b30
mov eax, ebx
call fcn.00464b30
mov eax, edi
call fcn.00464b30
call fcn.00464b30
call fcn.00464b30
call fcn.00464b30
call fcn.00464b30
mov ecx, eax
mov eax, ebp
call fcn.00464b30
mov eax, edi
call fcn.00464b30
call fcn.00464b30
mov eax, edi
mov ecx, ebp
call fcn.00464b30
mov eax, ebx
mov ecx, ebp
call fcn.00464b30
mov eax, ebx
mov ecx, ebp
call fcn.00464b30
mov ecx, ebp
call fcn.00464b30
mov ecx, ebp
call fcn.00464b30
mov eax, edi
mov ecx, ebp
call fcn.00464b30
call fcn.00464b30
nop
call fcn.004636b0
jmp fcn.005236e0