Function at 0x64b2f0
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
push ebx
push esi
push edi
mov edx, dword [ebp + 0x14]
xor eax, eax
mov dword [ebp - 0x84], eax
xor ecx, ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x64], eax
mov eax, dword [edx + 0x80]
mov dword [ebp - 0x78], eax
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [edx]
mov esi, dword [ebp + 0xc]
mov ebx, esi
mov dword [ebp - 0x7c], ecx
mov ecx, dword [eax + 0x24]
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x5c], eax
mov eax, esi
shr ebx, 2
and ebx, 1
shr eax, 0x13
and eax, 1
mov dword [ebp - 0x70], ecx
and dword [ebp - 0x70], 8
mov edi, dword [edx + 0x7c]
mov dword [ebp - 0x68], ebx
mov ebx, dword [edx + 0x20]
mov dword [ebp - 8], edi
mov dword [ebp - 0x74], ecx
mov dword [ebp - 4], 0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x6c], 0
je 0x64b387
mov dword [edi], 0x80090000
jmp 0x64b392
test cl, 4
je 0x64b39f
mov dword [edi], 0x80180005
mov dword [edi + 4], 0x801a0000
add edi, 8
mov dword [ebp - 8], edi
test esi, 0x2000000
je 0x64b586
mov esi, dword [ebp + 8]
cmp esi, ebx
jae 0x64b51b
cmp edi, dword [ebp - 0x78]
jae 0x64dd5e
movzx edx, byte [esi]
mov ebx, esi
mov dword [ebp - 0x6c], ebx
lea esi, [ebx + 1]
test eax, eax
je 0x64b4a4
cmp edx, 0xc0
jb 0x64b4a4
test dl, 0x20
jne 0x64b3f7
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x64b4a4
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x64b41e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x64b4a4
test dl, 8
jne 0x64b441
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x64b4a4
test dl, 4
jne 0x64b470
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x64b4a4
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp dword [ebp - 0x68], 0
je 0x64b507
cmp dword [ebp - 0x38], 0
mov ecx, edi
je 0x64b4dc
mov eax, ebx
mov ebx, dword [ebp - 0x38]
sub eax, dword [ebx + 4]
mov ebx, dword [ebp + 0x14]
sub eax, dword [ebx + 0x1c]
mov ebx, dword [ebp - 0x38]
mov dword [ebx + 8], eax
lea eax, [edi - 0x10]
cmp ebx, eax
mov ebx, dword [ebp - 0x6c]
jne 0x64b4dc
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0xc], 0xff
je 0x64b4f6
mov dword [ebp - 0x38], edi
lea ecx, [edi + 0x10]
mov dword [edi], 0x80060000
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0xff
mov eax, dword [ebp + 0x14]
mov edi, ecx
sub ebx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x2c]
mov dword [edi], edx
add edi, 4
cmp esi, dword [ebp + 0xc]
jb 0x64b3b6
mov edx, dword [ebp + 0x14]
mov ebx, dword [ebp - 0x38]
mov ecx, edi
test ebx, ebx
je 0x64b52f
mov eax, esi
sub eax, dword [ebx + 4]
sub eax, dword [edx + 0x1c]
mov dword [ebx + 8], eax
cmp dword [ebp - 0x68], 0
je 0x64b56a
test ebx, ebx
je 0x64b549
lea eax, [edi - 0x10]
cmp ebx, eax
jne 0x64b549
cmp dword [ebx + 0xc], 0xff
je 0x64b562
mov ebx, edi
mov dword [edi], 0x80060000
lea ecx, [edi + 0x10]
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0xff
mov eax, esi
sub eax, dword [edx + 0x1c]
mov dword [ebx + 4], eax
cmp dword [ebp - 0x70], 0
je 0x64dd43
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x64dd56
mov ecx, dword [edx + 0x28]
mov eax, ecx
xor edx, edx
mov dword [ebp - 0x60], 0xc
div dword [ebp - 0x60]
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x24], 0
mov eax, dword [eax + 0x14]
sub eax, edx
mov edx, dword [ebp + 0x14]
add eax, ecx
mov ecx, esi
mov dword [ebp - 0x60], eax
or ecx, 0x80
mov eax, esi
and eax, 0x1000000
cmove ecx, esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
jmp 0x64b5e0
mov esi, dword [ebp + 8]
add edi, 4
mov dword [ebp - 8], edi
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp - 4]
nop dword [eax]
movzx eax, cx
mov dword [ebp - 0x98], eax
cmp esi, ebx
jae 0x64dd22
cmp edi, dword [ebp - 0x78]
jae 0x64dd5e
mov edx, dword [edx]
movzx eax, cx
cmp eax, dword [edx + 0x20]
ja 0x64dd0b
cmp dword [ebp - 0x2c], 0
mov eax, esi
movzx ebx, byte [esi]
mov dword [ebp - 0xc], eax
mov ecx, ebx
mov dword [ebp - 0x20], ebx
lea esi, [eax + 1]
mov eax, esi
mov dword [ebp + 8], esi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], esi
je 0x64b727
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], esi
cmp ebx, 0xc0
jb 0x64b727
movzx ecx, byte [esi]
and ecx, 0x3f
test bl, 0x20
jne 0x64b661
mov eax, ebx
mov ebx, ecx
and eax, 0x1f
shl eax, 6
or ebx, eax
inc esi
mov eax, esi
mov dword [ebp - 0x3c], eax
jmp 0x64b71c
movzx eax, byte [esi + 1]
and eax, 0x3f
test bl, 0x10
jne 0x64b687
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add esi, 2
mov eax, esi
mov dword [ebp - 0x3c], eax
jmp 0x64b71c
test bl, 8
jne 0x64b6af
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 3
mov eax, esi
mov dword [ebp - 0x3c], eax
jmp 0x64b71c
test bl, 4
jne 0x64b6e3
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 4
mov eax, esi
mov dword [ebp - 0x3c], eax
jmp 0x64b71c
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 5
mov eax, esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x20], ebx
mov ecx, ebx
mov dword [ebp + 8], esi
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x50], 0
je 0x64b79b
cmp ecx, 0x5c
jne 0x64b74b
cmp eax, dword [ebp + 0xc]
jae 0x64b74b
cmp byte [esi], 0x45
jne 0x64b74b
mov dword [ebp - 0x50], 0
lea esi, [eax + 1]
jmp 0x64b5d3
cmp dword [ebp - 0x54], 0
jg case.0x64bad2.34
cmp dword [ebp - 0x5c], 0
jne 0x64b78d
mov ecx, dword [ebp - 0x58]
mov eax, ecx
dec ecx
mov dword [ebp - 0x58], ecx
test eax, eax
jg 0x64b786
push dword [ebp + 0x14]
lea eax, [ebp - 0x64]
push edi
push dword [ebp - 0x68]
push eax
push dword [ebp - 0xc]
call fcn.0064b270
mov edi, eax
add esp, 0x14
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 1
mov dword [edi], ebx
mov dword [ebp - 0x48], 0
jmp 0x64b5cd
cmp dword [ebp - 0x5c], 0
je 0x64b8c7
mov eax, dword [ebp - 0x1c]
and eax, 0x400080
cmp eax, 0x400080
jne 0x64b804
cmp ecx, 0xff
jbe 0x64b7d3
mov eax, ecx
or eax, 1
cmp eax, 0x200f
je 0x64b7d3
cmp eax, 0x2029
jne 0x64b870
cmp ecx, 0x100
jae 0x64b8c7
cmp ecx, 0x23
je 0x64b8f0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x64b8c7
cmp ecx, 0x85
je 0x64b8f0
cmp ecx, 0x29
je 0x64b877
cmp ecx, 0x5c
jne 0x64b870
mov ecx, dword [ebp - 0x1c]
test ecx, 0x400000
je 0x64b870
push dword [ebp + 0x14]
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x18]
push 0
push dword [edx + 0x24]
push ecx
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp + 8]
push ebx
push eax
call fcn.00645100
mov ecx, dword [ebp - 0x18]
add esp, 0x20
test ecx, ecx
jne 0x64da9e
sub eax, ecx
je 0x64b86a
sub eax, 0x19
je 0x64d562
mov esi, dword [ebp + 8]
sub eax, 1
jne 0x64d9e3
mov dword [ebp - 0x50], 1
jmp 0x64b5d6
mov esi, dword [ebp + 8]
mov ebx, dword [ebp - 0x20]
mov dword [edi], ebx
jmp 0x64b5cd
mov eax, esi
mov dword [ebp - 0x5c], 0
sub eax, dword [ebp - 0x6c]
dec eax
cmp eax, 0xff
jg 0x64d9fa
mov ecx, dword [ebp - 0x84]
mov eax, edi
mov ebx, dword [ebp + 0xc]
sub eax, ecx
mov edx, dword [ebp + 0x14]
sar eax, 2
dec eax
mov dword [ecx], eax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 4]
test eax, eax
je 0x64b5e0
mov dword [edi], eax
add edi, 4
mov dword [ebp - 8], edi
mov dword [ebp - 0x7c], 0
jmp 0x64b5d9
cmp ecx, 0x5c
jne 0x64b8f0
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp + 0xc]
jae 0x64b8f0
mov al, byte [esi]
cmp al, 0x51
je 0x64b8de
cmp al, 0x45
jne 0x64b8f0
xor ecx, ecx
lea esi, [edx + 1]
cmp al, 0x51
sete cl
mov dword [ebp - 0x50], ecx
jmp 0x64b5d3
test byte [ebp - 0x1c], 0x80
je 0x64b9e9
mov edx, dword [ebp + 0x14]
cmp ecx, 0x100
jae 0x64b912
mov eax, dword [edx + 0x10]
test byte [ebx + eax], 1
jne 0x64d621
cmp ecx, 0x85
je 0x64d621
mov eax, ecx
or eax, 1
cmp eax, 0x200f
je 0x64d621
cmp eax, 0x2029
je 0x64d621
cmp ecx, 0x23
jne 0x64b9e9
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
cmp esi, ebx
jae 0x64b5e0
mov ecx, dword [edx + 0x90]
mov eax, dword [edx + 0x20]
test ecx, ecx
je 0x64b982
cmp esi, eax
jae 0x64b9a8
push dword [ebp - 0x2c]
lea ebx, [edx + 0x94]
push ebx
push eax
push ecx
push esi
call fcn.00661f30
mov edx, dword [ebp + 0x14]
add esp, 0x14
test eax, eax
jne 0x64b9dd
mov ebx, dword [ebp + 0xc]
jmp 0x64b9a8
mov ecx, dword [edx + 0x94]
sub eax, ecx
cmp esi, eax
ja 0x64b9a8
mov al, byte [esi]
cmp al, byte [edx + 0xa0]
jne 0x64b9a8
cmp ecx, 1
je 0x64b9e2
mov al, byte [esi + 1]
cmp al, byte [edx + 0xa1]
je 0x64b9e2
inc esi
cmp dword [ebp - 0x2c], 0
mov eax, esi
je 0x64b9cd
cmp esi, ebx
jae 0x64b9cd
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x64b950
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, ebx
jb 0x64b9b7
jmp 0x64b5d9
mov ecx, dword [ebp - 4]
cmp eax, ebx
jb 0x64b950
jmp 0x64b5e0
mov ecx, dword [ebx]
mov ebx, dword [ebp + 0xc]
add esi, ecx
jmp 0x64b5d9
cmp ecx, 0x28
jne 0x64ba22
mov eax, dword [ebp + 0xc]
sub eax, esi
cmp eax, 2
jl 0x64ba54
cmp byte [esi], 0x3f
jne 0x64ba54
cmp byte [esi + 1], 0x23
jne 0x64ba54
mov ebx, dword [ebp + 0xc]
inc esi
cmp esi, ebx
jae 0x64da15
cmp byte [esi], 0x29
jne 0x64ba06
cmp esi, ebx
jae 0x64da15
inc esi
jmp 0x64b5d6
cmp ecx, 0x2a
je 0x64ba82
cmp ecx, 0x2b
je 0x64ba82
cmp ecx, 0x3f
je 0x64ba82
cmp ecx, 0x7b
jne 0x64ba54
lea eax, [ebp - 0x18]
mov dword [ebp - 0x4c], esi
push eax
push 0
push 0
push dword [ebp + 0xc]
lea eax, [ebp - 0x4c]
push eax
call fcn.0064f870
add esp, 0x14
test eax, eax
jne 0x64ba82
mov ecx, dword [ebp - 0x58]
mov eax, ecx
dec ecx
mov dword [ebp - 0x58], ecx
test eax, eax
jg 0x64ba82
push dword [ebp + 0x14]
lea eax, [ebp - 0x64]
push edi
push dword [ebp - 0x68]
push eax
push dword [ebp - 0xc]
call fcn.0064b270
mov edi, eax
add esp, 0x14
mov eax, dword [ebp - 0x64]
mov dword [ebp - 8], edi
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x54]
test ecx, ecx
jle case.0x64bad2.33
cmp ebx, 0x28
jne case.0x64bad2.34
mov eax, dword [ebp + 0xc]
sub eax, esi
cmp eax, 3
jl case.0x64bad2.34
mov al, byte [esi]
cmp al, 0x3f
je 0x64babf
cmp al, 0x2a
jne case.0x64bad2.34
mov eax, dword [ebp + 0x14]
movzx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
movzx eax, byte [ecx + eax]
mov ecx, dword [ebp - 0x54]
shr eax, 2
and eax, 1
jmp 0x64bae1
movzx eax, byte [esi + 1]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x64bad2.34
movzx eax, byte [eax + 0x64ddb4]
jmp dword [eax*4 + 0x64dda4]
xor eax, eax
cmp ecx, 2
sete al
test eax, eax
jne case.0x64bad2.33
mov esi, dword [ebp - 0x3c]
dec esi
mov eax, dword [ebp + 0x14]
mov ecx, 0x80
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [esi + 2]
cmp al, 0x3d
je case.0x64bad2.33
cmp al, 0x21
jne case.0x64bad2.34
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
mov edx, eax
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x48], 0
test eax, eax
je 0x64bb68
cmp ebx, 0x3f
je 0x64bb3c
cmp ebx, 0x2b
jne 0x64bb68
cmp ebx, 0x3f
mov ecx, 0x10000
mov ebx, 0x20000
cmove ecx, ebx
add ecx, eax
xor eax, eax
cmp edx, 0x803d0000
setne al
lea eax, [eax*8 - 0xc]
mov dword [eax + edi], ecx
jmp 0x64b5d3
lea eax, [ebx - 0x24]
cmp eax, 0x58
ja case.0x64bb7b.37
movzx eax, byte [eax + 0x64de0c]
jmp dword [eax*4 + 0x64ddd8]
mov dword [ebp - 0x4c], esi
mov esi, dword [ebp + 0x14]
push esi
push 0
mov eax, dword [esi]
push dword [eax + 0x24]
lea eax, [ebp - 0x18]
push dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 0xc]
lea eax, [ebp + 8]
push eax
call fcn.00645100
mov ecx, dword [ebp - 0x18]
add esp, 0x20
mov ebx, eax
test ecx, ecx
jne 0x64bbf0
test ebx, ebx
je 0x64be97
js 0x64be41
lea eax, [ebx - 6]
cmp eax, 0x16
ja case.0x64bbd4.13
movzx eax, byte [eax + 0x64de80]
jmp dword [eax*4 + 0x64de68]
test dword [ebp - 0x1c], 0x100000
je case.0x64bbd4.12
mov ecx, 0xb7
mov dword [ebp - 0x18], ecx
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
test byte [ebp - 0x74], 2
je 0x64dd90
mov eax, dword [ebp - 0x4c]
mov esi, eax
cmp eax, ebx
jb 0x64beb4
mov ecx, 0x5c
mov dword [ebp - 0x10], 1
mov dword [edi], ecx
add edi, 4
mov dword [ebp - 8], edi
jmp 0x64b5d6
push esi
lea eax, [ebp - 0x18]
mov dword [ebp - 0xc], 0
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0064ac00
add esp, 0x18
test eax, eax
je 0x64bda6
cmp dword [ebp - 0x88], 0
je 0x64bc70
xor eax, eax
cmp ebx, 0xf
sete al
lea ebx, [eax + 0xf]
movzx ecx, word [ebp - 0xc]
lea eax, [ebx - 0x7fe80000]
mov esi, dword [ebp + 8]
mov dword [edi], eax
movzx eax, word [ebp - 0x14]
shl ecx, 0x10
or ecx, eax
mov dword [ebp - 0x10], 1
mov dword [edi + 4], ecx
add edi, 8
jmp 0x64b5d0
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
cmp esi, edx
jae 0x64bdae
mov cl, byte [esi]
cmp cl, 0x7b
je 0x64bcbd
cmp cl, 0x3c
je 0x64bd25
cmp cl, 0x27
jne 0x64bdae
cmp cl, 0x27
mov eax, 0x7d
mov ecx, 0x27
cmove eax, ecx
mov dword [ebp - 0xc], eax
cmp ebx, 0x1b
jne 0x64bd47
cmp eax, 0x7d
je 0x64bd47
lea eax, [esi + 1]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp + 0x14]
push 0xa1
push 0xffff
push dword [eax + 0x74]
lea eax, [ebp - 0x14]
push edx
push eax
call fcn.0064f720
add esp, 0x1c
test eax, eax
je 0x64bd39
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp + 0xc]
cmp ecx, ebx
jae 0x64bd2c
movzx eax, byte [ecx]
cmp eax, dword [ebp - 0xc]
jne 0x64bd2c
mov eax, dword [ebp - 0x28]
mov esi, ecx
jmp 0x64d6b0
mov eax, 0x3e
jmp 0x64bccd
mov ecx, 0x9d
mov dword [ebp - 0x18], ecx
jmp 0x64bbf6
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x64bbf3
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x14]
mov esi, dword [ebp - 0xc]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x34]
push eax
push esi
push dword [ebp - 0x2c]
lea eax, [ebp + 8]
push edx
push eax
call fcn.0064f3e0
add esp, 0x24
test eax, eax
je 0x64bda6
cmp ebx, 0x1c
je 0x64bd81
mov eax, 0x80210000
cmp esi, 0x7d
jne 0x64bd86
mov eax, 0x80040000
mov esi, dword [ebp + 8]
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [edi + 8], eax
add edi, 0xc
mov dword [ebp - 0x10], 1
jmp 0x64b5d0
mov ecx, dword [ebp - 0x18]
jmp 0x64bbf0
cmp ebx, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
mov ebx, edx
cmove ecx, eax
mov dword [ebp - 0x18], ecx
jmp 0x64bbf6
mov dword [ebp - 0x10], 1
lea eax, [ebx - 0x7fe80000]
mov dword [edi], eax
jmp 0x64b5ca
test dword [ebp - 0x1c], 0x20000
mov dword [ebp - 0x10], 1
je case.0x64bbd4.13
cmp ebx, 7
je 0x64be00
cmp ebx, 9
je 0x64be00
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x64be05
mov eax, 0x80180010
mov dword [edi], eax
add ebx, 0xfffffffa
add edi, 4
mov dword [ebp - 8], edi
cmp ebx, 5
ja case.default.0x64be19
jmp dword [ebx*4 + 0x64de98]
mov dword [edi], 0x3000d
jmp 0x64b5ca
mov dword [edi], 0x70000
jmp 0x64b5ca
mov dword [edi], 0x90000
jmp 0x64b5ca
mov edx, dword [ebp + 0x14]
neg ebx
mov esi, dword [ebp + 8]
mov eax, ebx
mov ecx, esi
or eax, 0x80030000
sub ecx, dword [edx + 0x1c]
dec ecx
mov dword [edi], eax
add edi, 4
mov dword [ebp - 0x34], ecx
mov dword [ebp - 8], edi
cmp ebx, 0xa
jge 0x64be80
cmp dword [edx + ebx*4 + 0x2c], 0xffffffff
jne 0x64be88
mov dword [edx + ebx*4 + 0x2c], ecx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x10], 1
jmp 0x64b5d9
mov dword [edi], ecx
add edi, 4
mov dword [ebp - 8], edi
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x10], 1
jmp 0x64b5d9
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, 4
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], 1
jmp 0x64b5d6
cmp dword [ebp - 0x2c], 0
lea esi, [eax + 1]
movzx ecx, byte [eax]
je 0x64bfe7
cmp ecx, 0xc0
jb 0x64bfe7
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x64bef8
and ecx, 0x1f
mov dword [ebp - 0x10], 1
shl ecx, 6
inc esi
or ecx, eax
mov dword [edi], ecx
add edi, 4
mov dword [ebp - 8], edi
jmp 0x64b5d6
test cl, 0x10
jne 0x64bf28
and ecx, 0xf
mov dword [ebp - 0x10], 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
mov dword [edi], ecx
add edi, 4
mov dword [ebp - 8], edi
jmp 0x64b5d6
test cl, 8
jne 0x64bf64
and ecx, 7
mov dword [ebp - 0x10], 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
mov dword [edi], ecx
add edi, 4
mov dword [ebp - 8], edi
jmp 0x64b5d6
test cl, 4
jne 0x64bfac
and ecx, 3
mov dword [ebp - 0x10], 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
mov dword [edi], ecx
add edi, 4
mov dword [ebp - 8], edi
jmp 0x64b5d6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov dword [edi], ecx
add edi, 4
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], 1
jmp 0x64b5d6
mov dword [edi], 0x80090000
jmp 0x64b5cd
mov dword [edi], 0x80160000
jmp 0x64b5cd
mov dword [edi], 0x80170000
mov dword [ebp - 0x10], 1
jmp 0x64b5cd
mov dword [ebp - 0x48], 0x80340000
jmp 0x64c089
mov dword [ebp - 0x48], 0x80370000
jmp 0x64c089
mov dword [ebp - 0x48], 0x803a0000
jmp 0x64c089
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x8c]
push eax
push dword [ebp + 0xc]
lea eax, [ebp + 8]
push eax
call fcn.0064f870
add esp, 0x14
test eax, eax
jne 0x64c07f
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x64da9e
mov esi, dword [ebp + 8]
mov dword [edi], ebx
mov dword [ebp - 0x10], 1
jmp 0x64b5cd
mov esi, dword [ebp + 8]
mov dword [ebp - 0x48], 0x803d0000
cmp dword [ebp - 0x44], 0
je 0x64da2c
cmp dword [edi - 4], 0x802a0000
lea ecx, [edi - 4]
jne 0x64c0c2
mov edx, dword [ebp - 0x80]
cmp ecx, edx
jb 0x64c0b2
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edx
jae 0x64c0a6
mov dword [edx], 0x801a0000
mov dword [edi + 4], 0x80190000
add edi, 8
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp - 4]
mov dword [edi], eax
add edi, 4
cmp ebx, 0x7b
mov dword [ebp - 8], edi
mov ebx, dword [ebp + 0xc]
jne 0x64b5e0
mov eax, dword [ebp - 0x8c]
mov dword [edi], eax
mov eax, dword [ebp - 0x90]
mov dword [edi + 4], eax
add edi, 8
mov dword [ebp - 8], edi
jmp 0x64b5d9
mov ecx, dword [ebp + 0xc]
mov eax, ecx
sub eax, esi
mov dword [ebp - 0x10], 1
cmp eax, 6
jl 0x64c1b5
push 6
push 0x74d7c8
push esi
call fcn.006622f0
add esp, 0xc
test eax, eax
je 0x64c13e
push 6
push str._:_:__
push esi
call fcn.006622f0
add esp, 0xc
test eax, eax
jne 0x64c1b2
mov dword [edi], 0x80180005
lea eax, [edi + 8]
cmp byte [esi + 2], 0x3c
jne 0x64c156
mov dword [edi + 4], 0x80230000
jmp 0x64c16f
mov ecx, dword [ebp + 0x10]
mov dword [edi + 4], 0x80250000
mov dword [ecx], 1
mov dword [eax], 0
add eax, 4
test dword [ebp - 0x1c], 0x20000
lea edi, [eax + 4]
jne 0x64c192
mov dword [eax], 0x8018000b
mov dword [edi], 0x80190000
add edi, 4
add esi, 6
jmp 0x64b5d0
mov dword [eax], 0x80180010
mov dword [edi], 0x90000
add edi, 4
mov dword [edi], 0x80190000
add edi, 4
add esi, 6
jmp 0x64b5d0
mov ecx, dword [ebp + 0xc]
cmp esi, ecx
jae 0x64c1dd
mov al, byte [esi]
cmp al, 0x3a
je 0x64c1c7
cmp al, 0x2e
je 0x64c1c7
cmp al, 0x3d
jne 0x64c1dd
lea eax, [ebp - 0x4c]
push eax
push ecx
push esi
call fcn.00646770
add esp, 0xc
test eax, eax
jne 0x64da44
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp esi, dword [ebp + 0xc]
jae 0x64c38d
mov edi, ecx
nop dword [eax]
movzx ebx, byte [esi]
inc esi
cmp dword [ebp - 0x2c], 0
mov eax, ebx
mov edx, esi
mov dword [ebp - 0x20], ebx
mov dword [ebp + 8], esi
mov ecx, eax
mov dword [ebp - 0x14], edx
je 0x64c311
mov dword [ebp - 0x14], edx
cmp ebx, 0xc0
jb 0x64c311
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x64c239
and eax, 0x1f
shl eax, 6
or ebx, eax
inc esi
mov edx, esi
mov dword [ebp - 0x14], edx
jmp 0x64c309
test al, 0x10
jne 0x64c25e
and eax, 0xf
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 2
mov edx, esi
mov dword [ebp - 0x14], edx
jmp 0x64c309
test al, 8
jne 0x64c28f
and eax, 7
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 3
mov edx, esi
mov dword [ebp - 0x14], edx
jmp 0x64c309
test al, 4
jne 0x64c2c9
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 4
mov edx, esi
mov dword [ebp - 0x14], edx
jmp 0x64c309
and eax, 1
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 5
mov edx, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], ebx
mov ecx, ebx
mov dword [ebp + 8], esi
cmp ecx, 0x5c
jne 0x64c35a
mov eax, dword [ebp + 0xc]
cmp edx, eax
jae 0x64c32f
cmp byte [esi], 0x45
jne 0x64c32f
mov eax, 1
lea esi, [eax + edx]
mov dword [ebp + 8], esi
jmp 0x64c37e
sub eax, edx
cmp eax, 3
jl 0x64c387
push 3
push 0x74d7d8
push esi
call fcn.006622f0
add esp, 0xc
test eax, eax
jne 0x64c387
mov edx, dword [ebp - 0x14]
mov eax, 3
lea esi, [eax + edx]
mov dword [ebp + 8], esi
jmp 0x64c37e
test dword [ebp - 0x1c], 0x1000000
je 0x64c36d
cmp ecx, 0x20
je 0x64c37e
cmp ecx, 9
je 0x64c37e
test edi, edi
jne 0x64c387
cmp ecx, 0x5e
jne 0x64c387
mov edi, 1
mov dword [ebp - 0xc], edi
cmp esi, dword [ebp + 0xc]
jb 0x64c1f0
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
cmp ebx, 0x5d
jne 0x64c3ba
mov edx, dword [ebp + 0x14]
test byte [edx + 0x6c], 1
je 0x64c3ba
mov ebx, dword [ebp + 0xc]
test ecx, ecx
mov eax, 0x800b0000
mov ecx, 0x800c0000
cmovne eax, ecx
mov dword [edi], eax
add edi, 4
mov dword [ebp - 8], edi
jmp 0x64b5d9
test ecx, ecx
mov eax, 0x800a0000
mov ecx, 0x800e0000
cmovne eax, ecx
mov dword [edi], eax
add edi, 4
xor edx, edx
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], edx
nop word [eax + eax]
cmp dword [ebp - 0x50], 0
mov ecx, 1
mov dword [ebp - 0x44], ecx
je 0x64c416
cmp ebx, 0x5c
jne 0x64c896
cmp esi, dword [ebp + 0xc]
jae 0x64c896
cmp byte [esi], 0x45
jne 0x64c896
mov dword [ebp - 0x50], 0
inc esi
jmp 0x64c8de
test dword [ebp - 0x1c], 0x1000000
je 0x64c431
cmp ebx, 0x20
je 0x64c8de
cmp ebx, 9
je 0x64c8de
cmp ebx, 0x5b
jne 0x64c59a
mov eax, dword [ebp + 0xc]
sub eax, esi
cmp eax, 3
jl 0x64c896
mov al, byte [esi]
cmp al, 0x3a
je 0x64c45a
cmp al, 0x2e
je 0x64c45a
cmp al, 0x3d
jne 0x64c896
lea eax, [ebp - 0x4c]
push eax
push dword [ebp + 0xc]
push esi
call fcn.00646770
add esp, 0xc
test eax, eax
je 0x64c890
cmp dword [ebp - 0x10], 1
mov dword [ebp - 0xc], 0
je 0x64dab6
cmp byte [esi], 0x3a
jne 0x64da66
inc esi
mov edx, esi
cmp byte [esi], 0x5e
jne 0x64c49e
inc esi
mov dword [ebp - 0xc], 1
mov edx, esi
mov ecx, dword [ebp - 0x4c]
mov ebx, str.alpha
sub ecx, edx
xor edi, edi
mov dword [ebp - 0x44], ecx
nop dword [eax]
movzx eax, byte [edi + 0x74d560]
cmp ecx, eax
jne 0x64c4cf
push ecx
push ebx
push edx
call fcn.006622f0
add esp, 0xc
test eax, eax
je 0x64c4fa
mov ecx, dword [ebp - 0x44]
mov edx, esi
movzx eax, byte [edi + 0x74d560]
inc ebx
inc edi
add ebx, eax
cmp byte [edi + 0x74d560], 0
jne 0x64c4b0
mov eax, dword [ebp + 0x14]
mov ecx, 0x82
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
js 0x64c4e3
mov esi, dword [ebp - 0x4c]
mov eax, dword [ebp + 0xc]
add esi, 2
dec eax
cmp esi, eax
jae 0x64c51b
cmp byte [esi], 0x2d
jne 0x64c51b
cmp byte [esi + 1], 0x5d
jne 0x64dab6
xor edx, edx
test dword [ebp - 0x1c], 0x20000
mov dword [ebp - 0x10], edx
je 0x64c57b
mov eax, dword [edi*8 + 0x7a1870]
mov edx, dword [edi*8 + 0x7a1874]
test eax, eax
js 0x64c55f
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
xor ecx, 1
shl eax, 0x10
sub ecx, 0x7fe7fff1
or eax, edx
mov edx, dword [ebp - 0x10]
mov dword [edi], ecx
mov dword [edi + 4], eax
add edi, 8
jmp 0x64c8db
test edx, edx
mov edx, dword [ebp - 0x10]
je 0x64c57b
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [edi], eax
jmp 0x64c8d8
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
add eax, 0x801c
shl eax, 0x10
mov dword [ecx], eax
add ecx, 4
mov dword [ebp - 8], ecx
mov dword [ecx], edi
mov edi, ecx
jmp 0x64c8d8
cmp ebx, 0x2d
jne 0x64c5c2
cmp edx, 2
jb 0x64c896
cmp edx, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
lea edx, [ebx - 0x2c]
cmove eax, ecx
mov dword [edi], eax
jmp 0x64c8d5
cmp ebx, 0x5c
jne 0x64c896
mov eax, dword [ebp + 0x14]
push eax
push 1
mov dword [ebp - 0x4c], esi
mov eax, dword [eax]
push dword [eax + 0x24]
lea eax, [ebp - 0x18]
push dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 0xc]
lea eax, [ebp + 8]
push eax
call fcn.00645100
mov ecx, dword [ebp - 0x18]
add esp, 0x20
mov ebx, eax
test ecx, ecx
je 0x64c725
test byte [ebp - 0x74], 2
je 0x64da9e
cmp esi, dword [ebp + 0xc]
jb 0x64c61b
mov ebx, 0x5c
xor ecx, ecx
jmp 0x64c893
cmp dword [ebp - 0x2c], 0
lea ecx, [esi + 1]
movzx ebx, byte [esi]
mov esi, ecx
je 0x64c740
cmp ebx, 0xc0
jb 0x64c740
movzx eax, byte [esi]
and eax, 0x3f
test bl, 0x20
jne 0x64c656
and ebx, 0x1f
lea esi, [ecx + 1]
shl ebx, 6
or ebx, eax
xor ecx, ecx
jmp 0x64c893
test bl, 0x10
jne 0x64c679
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
lea esi, [ecx + 2]
and eax, 0x3f
or ebx, eax
xor ecx, ecx
jmp 0x64c893
test bl, 8
jne 0x64c6a8
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
lea esi, [ecx + 3]
and eax, 0x3f
or ebx, eax
xor ecx, ecx
jmp 0x64c893
test bl, 4
jne 0x64c6e3
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
lea esi, [ecx + 4]
and eax, 0x3f
or ebx, eax
xor ecx, ecx
jmp 0x64c893
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 4]
shl ebx, 6
lea esi, [ecx + 5]
and eax, 0x3f
or ebx, eax
xor ecx, ecx
jmp 0x64c893
cmp ebx, 0x1a
ja case.0x64c733.1
mov ebx, eax
movzx eax, byte [eax + 0x64dec8]
jmp dword [eax*4 + 0x64deb0]
mov esi, dword [ebp + 8]
mov ebx, dword [ebp - 0x20]
xor ecx, ecx
jmp 0x64c893
mov esi, dword [ebp + 8]
mov ebx, 8
xor ecx, ecx
jmp 0x64c893
mov dword [ebp - 0x50], 1
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
jmp 0x64c8de
cmp dword [ebp - 0x10], 1
je 0x64dab3
xor edx, edx
lea ecx, [ebx - 6]
mov dword [ebp - 0x10], edx
cmp ecx, 0xf
ja case.0x64c78a.13
movzx eax, byte [ecx + 0x64def8]
jmp dword [eax*4 + 0x64dee4]
lea eax, [ebx - 0x7fe80000]
mov dword [edi], eax
add edi, 4
jmp 0x64c871
test dword [ebp - 0x1c], 0x20000
jne 0x64c7ba
lea eax, [ebx - 0x7fe80000]
mov dword [edi], eax
add edi, 4
jmp 0x64c871
cmp ebx, 7
je 0x64c7ce
cmp ebx, 9
je 0x64c7ce
mov eax, 0x8018000f
cmp ebx, 0xb
jne 0x64c7d3
mov eax, 0x80180010
mov dword [edi], eax
add edi, 4
mov dword [ebp - 8], edi
cmp ecx, 5
ja case.default.0x64c7e4
jmp dword [ecx*4 + 0x64df08]
mov dword [edi], 0x3000d
add edi, 4
jmp 0x64c871
mov dword [edi], 0x70000
add edi, 4
jmp 0x64c871
mov dword [edi], 0x90000
add edi, 4
jmp 0x64c871
push dword [ebp + 0x14]
lea eax, [ebp - 0x18]
mov dword [ebp - 0xc], edx
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], edx
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0064ac00
add esp, 0x18
test eax, eax
je 0x64db6c
cmp dword [ebp - 0x94], 0
je 0x64c853
xor eax, eax
cmp ebx, 0xf
sete al
lea ebx, [eax + 0xf]
movzx ecx, word [ebp - 0xc]
lea eax, [ebx - 0x7fe80000]
mov edx, dword [ebp - 0x10]
mov dword [edi], eax
movzx eax, word [ebp - 0x14]
shl ecx, 0x10
or ecx, eax
mov dword [edi + 4], ecx
add edi, 8
mov dword [ebp - 8], edi
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
dec eax
cmp esi, eax
jae 0x64c8de
cmp byte [esi], 0x2d
jne 0x64c8de
cmp byte [esi + 1], 0x5d
jne 0x64dab6
jmp 0x64c8de
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x10]
cmp edx, 1
jne 0x64c8d0
cmp ebx, dword [edi - 8]
jne 0x64c8aa
sub edi, 4
xor edx, edx
mov dword [ebp - 0x10], edx
jmp 0x64c8db
jb 0x64dacd
test ecx, ecx
jne 0x64c8c4
cmp dword [edi - 4], 0x801f0000
jne 0x64c8c4
mov dword [edi - 4], 0x801e0000
mov dword [edi], ebx
add edi, 4
xor edx, edx
mov dword [ebp - 0x10], edx
jmp 0x64c8db
lea edx, [ecx + 2]
mov dword [edi], ebx
mov dword [ebp - 0x10], edx
add edi, 4
mov dword [ebp - 8], edi
cmp esi, dword [ebp + 0xc]
jae 0x64dae5
movzx ebx, byte [esi]
inc esi
cmp dword [ebp - 0x2c], 0
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov ecx, eax
mov dword [ebp + 8], esi
je 0x64c9e6
cmp eax, 0xc0
jb 0x64c9e6
movzx ebx, byte [esi]
and ebx, 0x3f
test al, 0x20
jne 0x64c922
and eax, 0x1f
shl eax, 6
or ebx, eax
inc esi
jmp 0x64c9de
test al, 0x10
jne 0x64c942
and eax, 0xf
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 2
jmp 0x64c9de
test al, 8
jne 0x64c96e
and eax, 7
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 3
jmp 0x64c9de
test al, 4
jne 0x64c9a3
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 4
jmp 0x64c9de
and eax, 1
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 5
mov dword [ebp - 0x20], ebx
mov ecx, ebx
mov dword [ebp + 8], esi
cmp ecx, 0x5d
jne 0x64c3e0
cmp dword [ebp - 0x50], 0
jne 0x64c3e0
cmp edx, 1
jne 0x64ca05
mov dword [edi - 4], 0x2d
mov dword [edi], 0x800d0000
mov dword [ebp - 0x10], 1
jmp 0x64b5cd
mov ebx, dword [ebp + 0xc]
cmp esi, ebx
jae 0x64dd8b
mov al, byte [esi]
cmp al, 0x3f
je 0x64cd75
cmp al, 0x2a
je 0x64ca77
inc dword [ebp - 4]
test dword [ebp - 0x1c], 0x2000
mov edx, dword [ebp + 0x14]
jne 0x64ca65
mov ecx, dword [edx + 0x74]
cmp ecx, 0xffff
jae 0x64dc7b
inc ecx
mov dword [edx + 0x74], ecx
or ecx, 0x80080000
mov dword [edi], ecx
add edi, 4
mov dword [ebp - 8], edi
jmp 0x64b5d9
mov ecx, 0x801a0000
mov dword [edi], ecx
add edi, 4
mov dword [ebp - 8], edi
jmp 0x64b5d9
mov ecx, dword [ebp - 4]
mov eax, ebx
sub eax, dword [ebp - 0x14]
cmp eax, 1
jle 0x64d352
movzx ecx, byte [esi + 1]
cmp ecx, 0x29
je 0x64b5d6
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [edx + 0x10]
test byte [ecx + eax], 4
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x34]
push eax
push 0
push dword [ebp - 0x2c]
lea eax, [ebp + 8]
push ebx
push eax
je 0x64cc63
mov dword [ebp - 0x44], 0x74d1e8
call fcn.0064f3e0
add esp, 0x24
test eax, eax
je 0x64db6c
mov esi, dword [ebp + 8]
mov dword [ebp - 0x14], esi
cmp esi, ebx
jae 0x64db27
cmp byte [esi], 0x3a
jne 0x64db27
mov esi, dword [ebp - 0x44]
xor ebx, ebx
mov dword [ebp - 0x28], ebx
xor edi, edi
nop dword [eax + eax]
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebx*8 + 0x74d2c0]
jne 0x64cb1d
push eax
push esi
push dword [ebp - 0x40]
call fcn.006622f0
add esp, 0xc
test eax, eax
je 0x64cb30
inc esi
add esi, dword [ebx*8 + 0x74d2c0]
inc ebx
mov dword [ebp - 0x28], ebx
mov edi, ebx
cmp ebx, 0x11
jl 0x64cb00
mov esi, dword [ebp - 0x14]
cmp edi, 0x11
mov edi, dword [ebp - 8]
jge 0x64db27
mov edx, dword [ebx*8 + 0x74d2c4]
mov ebx, dword [ebp - 0xc]
test ebx, ebx
jle 0x64cb5e
lea eax, [edx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x64dafc
cmp edx, 0x80250000
ja 0x64cbd2
je 0x64cbf7
cmp edx, 0x80230000
ja 0x64cbaf
je 0x64d35d
cmp edx, 0x80020000
je 0x64d33b
cmp edx, 0x80220000
jne 0x64cbbb
mov ecx, dword [ebp - 4]
inc esi
mov ebx, dword [ebp + 0xc]
mov dword [edi], edx
add edi, 4
mov edx, dword [ebp + 0x14]
movzx eax, cx
inc eax
mov dword [ebp - 8], edi
movzx ecx, ax
mov dword [ebp - 4], ecx
jmp 0x64b5e0
cmp edx, 0x80240000
je 0x64d381
mov eax, dword [ebp + 0x14]
mov ecx, 0xbd
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x80280000
ja 0x64cbfd
je 0x64cbf7
cmp edx, 0x80260000
je 0x64cbf7
cmp edx, 0x80270000
jne 0x64cbbb
mov dword [edi], edx
inc esi
mov edx, dword [ebp + 0x14]
jmp 0x64d3e8
dec esi
jmp 0x64d3c6
cmp edx, 0x8fff0000
jne 0x64cbbb
mov eax, dword [ebp - 4]
inc esi
mov ecx, dword [ebp - 0x24]
inc eax
mov dword [edi], 0x80220000
mov dword [edi + 4], 0x80020000
add edi, 8
mov dword [ebp - 4], eax
mov dword [ebp - 8], edi
test ecx, ecx
jne 0x64cc32
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + 0x14]
mov dword [ebp - 0x24], ecx
jmp 0x64cc44
add ecx, 0xc
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0x60]
jae 0x64dcdc
mov edx, dword [ebp + 0x14]
mov ebx, dword [ebp + 0xc]
mov word [ecx], ax
mov eax, 4
mov word [ecx + 6], ax
mov eax, dword [ebp - 0x1c]
and eax, 0x10424e8
mov dword [ecx + 8], eax
jmp 0x64b5d9
mov dword [ebp - 0x44], 0x74d148
call fcn.0064f3e0
add esp, 0x24
test eax, eax
je 0x64db6c
mov esi, dword [ebp + 8]
mov dword [ebp - 0x14], esi
cmp esi, ebx
jae 0x64dd2c
mov al, byte [esi]
cmp al, 0x3a
je 0x64cc96
cmp al, 0x29
jne 0x64dd2c
mov esi, dword [ebp - 0x44]
xor ebx, ebx
mov ecx, 0x74d178
mov dword [ebp - 0x28], ebx
xor edi, edi
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x30]
cmp eax, dword [ecx]
jne 0x64ccc3
push eax
push esi
push dword [ebp - 0x40]
call fcn.006622f0
add esp, 0xc
test eax, eax
je 0x64ccd7
mov ecx, dword [ebp - 0xc]
inc esi
inc ebx
add esi, dword [ecx]
mov edi, ebx
add ecx, 0xc
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ecx
cmp ebx, 9
jl 0x64cca8
mov esi, dword [ebp - 0x14]
cmp edi, 9
mov edi, dword [ebp - 8]
jge 0x64dd2c
cmp byte [esi], 0x3a
jne 0x64ccf9
lea eax, [esi + 1]
cmp eax, dword [ebp + 0xc]
jae 0x64ccf9
cmp byte [eax], 0x29
cmove esi, eax
lea ecx, [ebx + ebx*2]
mov ebx, dword [ecx*4 + 0x74d180]
test ebx, ebx
jle 0x64cd10
cmp byte [esi], 0x3a
jne 0x64db3e
mov ecx, dword [ecx*4 + 0x74d17c]
lea edx, [edi + 4]
xor eax, eax
mov dword [ebp - 0x80], edi
cmp ecx, 0x802a0000
sete al
mov dword [ebp - 0x10], eax
mov al, byte [esi]
inc esi
cmp al, 0x3a
jne 0x64cd6c
test ebx, ebx
jns 0x64cd40
mov dword [ebp - 0x7c], ecx
mov eax, 0x80290000
jmp 0x64cd52
xor eax, eax
mov ebx, 0x10000
cmp ecx, 0x80290000
cmovne eax, ebx
add eax, ecx
mov dword [edi], eax
lea edi, [edx + 4]
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x5c], 1
jmp 0x64b5d0
mov dword [edi], ecx
mov edi, edx
jmp 0x64b5d0
mov ecx, dword [ebp - 0x14]
inc ecx
mov esi, ecx
mov dword [ebp + 8], esi
cmp ecx, ebx
jae 0x64dd8b
mov dl, byte [esi]
movzx eax, dl
add eax, 0xffffffdf
cmp eax, 0x31
ja case.0x64cd9e.34
movzx eax, byte [eax + 0x64df58]
jmp dword [eax*4 + 0x64df20]
lea esi, [ecx + 1]
mov dword [ebp + 8], esi
cmp esi, ebx
jae 0x64dd8b
mov al, byte [esi]
cmp al, 0x3c
jne 0x64cdc3
mov eax, 0x3e
jmp 0x64d441
cmp al, 0x3e
je case.0x64cd9e.38
cmp al, 0x3d
jne 0x64db55
push dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x34]
push eax
push 0x29
push dword [ebp - 0x2c]
lea eax, [ebp + 8]
push ebx
push eax
call fcn.0064f3e0
add esp, 0x24
test eax, eax
je 0x64db6c
mov dword [edi], 0x80040000
jmp 0x64ce99
xor eax, eax
lea esi, [ecx + 1]
mov dword [ebp - 0x28], eax
cmp esi, ebx
jae 0x64ce20
cmp byte [esi], 0x29
je 0x64d6b0
mov eax, dword [ebp + 0x14]
mov ecx, 0x9e
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, ebx
sub eax, ecx
cmp eax, 2
jl 0x64ce4f
mov al, byte [esi + 1]
cmp al, 0x30
jb 0x64ce4f
cmp al, 0x39
jbe case.0x64cd9e.48
mov eax, dword [ebp + 0x14]
mov ecx, 0x81
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x34]
push eax
push 0x29
push dword [ebp - 0x2c]
lea eax, [ebp + 8]
push ebx
push eax
call fcn.0064f3e0
add esp, 0x24
test eax, eax
je 0x64db6c
mov dword [edi], 0x80210000
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp + 8]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [edi + 8], eax
add edi, 0xc
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], 1
jmp 0x64b5d6
lea edx, [ecx + 1]
mov esi, edx
cmp edx, ebx
jae 0x64dd8b
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x38]
dec eax
mov dword [ebp - 0x54], eax
test ecx, ecx
je 0x64ceec
test byte [ebp - 0x1c], 4
je 0x64ceec
lea eax, [edi - 0x10]
cmp ecx, eax
jne 0x64ceec
cmp dword [edi - 4], 0xff
cmove edi, ecx
mov bl, byte [esi]
mov eax, edi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x58], 1
cmp bl, 0x29
je 0x64cf99
cmp bl, 0x30
jb 0x64cf14
cmp bl, 0x39
jbe 0x64cf99
mov ecx, dword [str.____]
xor eax, eax
mov dword [ebp - 0x28], eax
test ecx, ecx
je 0x64cf39
movzx ebx, bl
cmp ebx, ecx
je 0x64cf50
mov ecx, dword [eax*4 + 0x7491d4]
inc eax
mov dword [ebp - 0x28], eax
test ecx, ecx
jne 0x64cf26
mov eax, dword [ebp + 0x14]
mov ecx, 0xb6
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax*4 + 0x7490c4]
test ecx, ecx
je 0x64cf39
mov ebx, dword [ebp + 0xc]
mov dword [edi], 0x80070000
inc esi
cmp esi, ebx
jae 0x64db84
movzx eax, byte [esi]
cmp eax, ecx
jne 0x64cf64
inc esi
cmp esi, ebx
jae 0x64cf80
movzx eax, byte [esi]
cmp eax, ecx
je 0x64cf64
mov eax, esi
mov ecx, esi
sub eax, edx
mov dword [edi + 0xc], eax
add edi, 0x10
mov eax, dword [ebp + 0x14]
sub edx, dword [eax + 0x1c]
mov dword [ebp - 0x34], edx
mov dword [edi], edx
jmp 0x64cfd9
xor ebx, ebx
mov dword [edi], 0x80060000
add edi, 0xc
mov al, byte [esi]
mov ecx, edx
cmp al, 0x30
jb 0x64cfd4
cmp al, 0x39
ja 0x64cfd4
lea ecx, [ebx - 6]
movzx eax, al
lea ecx, [ebx + ecx*4]
lea esi, [edx + 1]
lea ebx, [eax + ecx*2]
mov ecx, esi
cmp ebx, 0xff
jg 0x64db9d
mov edx, esi
cmp esi, dword [ebp + 0xc]
jb 0x64cfa4
mov dword [edi], ebx
mov ebx, dword [ebp + 0xc]
cmp ecx, ebx
jae 0x64dbb4
cmp byte [esi], 0x29
jne 0x64dbb4
mov edx, dword [ebp + 0x14]
lea esi, [ecx + 1]
mov ecx, dword [ebp - 0x38]
mov eax, esi
sub eax, dword [edx + 0x1c]
add edi, 4
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0
mov dword [ebp - 8], edi
jmp 0x64b5d9
lea esi, [ecx + 1]
mov dword [ebp + 8], esi
cmp esi, ebx
jae 0x64dd8b
mov al, byte [esi]
inc dword [ebp - 4]
cmp al, 0x3f
je 0x64d321
cmp al, 0x2a
je 0x64d321
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp + 0x14]
push 0xa1
push 0xffff
push dword [eax + 0x74]
lea eax, [ebp + 8]
push ebx
push eax
call fcn.0064f720
add esp, 0x1c
test eax, eax
je 0x64d089
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp + 8]
test ecx, ecx
jle 0x64dbcb
mov edx, dword [ebp + 0x14]
mov eax, esi
mov dword [edi], 0x80120000
sub eax, dword [edx + 0x1c]
sub eax, 2
mov dword [edi + 8], ecx
mov dword [edi + 4], eax
add edi, 8
mov dword [ebp - 0x34], eax
jmp 0x64d304
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x64da9e
mov eax, ebx
mov ebx, dword [ebp + 8]
sub eax, ebx
mov dword [ebp - 0xc], eax
cmp eax, 0xa
jl 0x64d1bc
push 7
push str.VERSION
push ebx
call fcn.006622f0
add esp, 0xc
test eax, eax
jne 0x64d1b9
cmp byte [ebx + 7], 0x29
lea esi, [ebx + 7]
je 0x64d1b9
xor ebx, ebx
mov dword [ebp - 0xc], eax
cmp byte [esi], 0x3e
mov dword [ebp - 0x14], eax
mov eax, esi
jne 0x64d0e5
inc esi
mov dword [ebp - 0xc], 1
mov eax, esi
cmp byte [esi], 0x3d
jne 0x64dbe2
lea esi, [eax + 1]
mov al, byte [esi]
mov dword [ebp + 8], esi
cmp al, 0x30
jb 0x64dbe2
cmp al, 0x39
ja 0x64dbe2
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
push dword [ebp + 0xc]
lea eax, [ebp + 8]
push eax
call fcn.0064f720
add esp, 0x1c
test eax, eax
je 0x64db6c
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
cmp esi, edx
jae 0x64dbe2
cmp byte [esi], 0x2e
jne 0x64d19b
inc esi
cmp esi, edx
jae 0x64dbe2
mov al, byte [esi]
cmp al, 0x30
jb 0x64dbe2
cmp al, 0x39
ja 0x64dbe2
movzx eax, al
inc esi
sub eax, 0x30
lea ebx, [eax + eax*4]
add ebx, ebx
cmp esi, edx
jae 0x64dbe2
mov al, byte [esi]
cmp al, 0x30
jb 0x64d192
cmp al, 0x39
ja 0x64d192
movzx eax, al
lea ecx, [esi + 1]
add eax, 0xffffffd0
mov esi, ecx
add ebx, eax
cmp ecx, edx
jae 0x64dbe2
cmp byte [esi], 0x29
jne 0x64dbe2
mov eax, dword [ebp - 0xc]
mov dword [edi], 0x80150000
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [edi + 8], eax
add edi, 0xc
mov dword [edi], ebx
mov ebx, edx
jmp 0x64d301
mov eax, dword [ebp - 0xc]
mov cl, byte [ebx]
mov dword [ebp - 0xc], 0
cmp cl, 0x52
jne 0x64d1e2
cmp eax, 1
jle 0x64d200
cmp byte [ebx + 1], 0x26
lea eax, [ebx + 1]
jne 0x64d200
mov ebx, 1
mov dword [ebp + 8], eax
jmp 0x64d207
cmp cl, 0x3c
jne 0x64d1f1
mov ebx, dword [ebp - 0xc]
mov esi, 0x3e
jmp 0x64d20c
cmp cl, 0x27
jne 0x64d200
mov ebx, dword [ebp - 0xc]
mov esi, 0x27
jmp 0x64d20c
dec ebx
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 0xc]
mov esi, 0x29
push dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x34]
push eax
push esi
push dword [ebp - 0x2c]
lea eax, [ebp + 8]
push dword [ebp + 0xc]
push eax
call fcn.0064f3e0
add esp, 0x24
test eax, eax
je 0x64db6c
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xc], edx
test ebx, ebx
je 0x64d253
mov esi, dword [ebp + 8]
mov dword [edi], 0x80130000
dec esi
jmp 0x64d2e8
cmp esi, 0x29
jne 0x64d2df
mov ebx, dword [ebp - 0x40]
cmp edx, 6
jne 0x64d28b
push 6
push str.DEFINE
push ebx
call fcn.006622f0
add esp, 0xc
test eax, eax
jne 0x64d288
mov eax, 0x80100000
mov dword [edi], eax
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
dec esi
jmp 0x64d2e8
mov edx, dword [ebp - 0xc]
mov eax, 1
mov dword [ebp - 0x28], eax
mov ecx, eax
cmp edx, eax
jle 0x64d2c1
mov edi, dword [ebp - 0xc]
mov esi, eax
nop
mov dl, byte [ebx + eax]
mov ecx, esi
cmp dl, 0x30
jb 0x64d2bb
cmp dl, 0x39
ja 0x64d2bb
inc eax
mov dword [ebp - 0x28], eax
mov ecx, eax
mov esi, ecx
cmp eax, edi
jl 0x64d2a0
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
cmp byte [ebx], 0x52
jne 0x64d2cf
mov eax, 0x80140000
cmp ecx, edx
jge 0x64d2d4
mov eax, 0x80110000
mov dword [edi], eax
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
dec esi
jmp 0x64d2e8
mov esi, dword [ebp + 8]
mov dword [edi], 0x80110000
mov eax, dword [edi]
add edi, 4
cmp eax, 0x80100000
je 0x64d2f9
mov dword [edi], edx
add edi, 4
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp + 0xc]
mov dword [edi], eax
mov edx, dword [ebp + 0x14]
cmp esi, ebx
jae 0x64dbf9
cmp byte [esi], 0x29
jne 0x64dbf9
inc esi
add edi, 4
mov dword [ebp - 8], edi
jmp 0x64b5d9
mov dword [edi], 0x800f0000
mov esi, ecx
add edi, 4
mov dword [ebp - 0x54], 2
mov dword [ebp - 8], edi
jmp 0x64b5d6
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov dword [edi], 0x80020000
inc ecx
add edi, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 8], edi
inc esi
mov edx, dword [ebp + 0x14]
jmp 0x64b5e0
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x14]
inc esi
mov dword [edi], 0x80230000
jmp 0x64d3e8
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x14]
inc esi
mov dword [edi], 0x80270000
jmp 0x64d3e8
mov ebx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x14]
inc esi
mov dword [edi], 0x80240000
jmp 0x64d3e8
mov eax, ebx
sub eax, ecx
cmp eax, 1
jle 0x64cdb9
mov al, byte [esi + 1]
cmp al, 0x3d
je 0x64d3be
cmp al, 0x21
je 0x64d3ad
cmp al, 0x2a
jne 0x64cdb9
cmp al, 0x21
mov edx, 0x80280000
mov eax, 0x80260000
cmove edx, eax
jmp 0x64d3c3
mov edx, 0x80250000
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x10]
mov dword [edi], edx
mov edx, dword [ebp + 0x14]
mov dword [eax], 1
mov eax, esi
add esi, 2
sub eax, dword [edx + 0x1c]
sub eax, 2
mov dword [edi + 4], eax
add edi, 4
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 4]
add edi, 4
inc ecx
mov dword [ebp - 8], edi
mov dword [ebp - 4], ecx
test ebx, ebx
jle 0x64d434
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x64d408
mov ecx, dword [edx + 0x14]
mov dword [ebp - 0x24], ecx
jmp 0x64d417
add ecx, 0xc
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0x60]
jae 0x64dcdc
mov eax, dword [ebp - 4]
mov word [ecx], ax
mov eax, 2
mov word [ecx + 6], ax
mov eax, dword [ebp - 0x1c]
and eax, 0x10424e8
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
jmp 0x64b5e0
mov eax, 0x27
push dword [ebp + 0x14]
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x34]
push ecx
push eax
push dword [ebp - 0x2c]
lea eax, [ebp + 8]
push ebx
push eax
call fcn.0064f3e0
add esp, 0x24
test eax, eax
je 0x64db6c
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 0x74]
cmp eax, 0xffff
jae 0x64dc78
inc dword [ebp - 4]
inc eax
mov dword [edx + 0x74], eax
or eax, 0x80080000
mov dword [edi], eax
add edi, 4
movzx edx, word [edx + 0x58]
mov eax, 0x2710
mov dword [ebp - 8], edi
cmp dx, ax
jae 0x64dc5e
mov ebx, dword [ebp - 0x30]
mov esi, dword [ebp + 0x14]
lea ecx, [ebx + 3]
movzx eax, word [esi + 0x5a]
cmp ecx, eax
jbe 0x64d4bc
lea eax, [ebx + 3]
mov word [esi + 0x5a], ax
mov esi, dword [esi + 0x64]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x14], 0
xor ebx, ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x28], ecx
cmp ax, dx
jae 0x64d552
nop dword [eax + eax]
movzx eax, word [esi + 8]
mov edx, dword [ebp - 0x30]
cmp edx, eax
jne 0x64d52c
push edx
push dword [esi]
push dword [ebp - 0x40]
call fcn.006622f0
add esp, 0xc
test eax, eax
jne 0x64d529
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 0x74]
je 0x64d552
test byte [ebp - 0x1c], 0x40
je 0x64dc10
mov eax, 1
mov word [esi + 0xa], ax
mov dword [ecx + 0xb8], eax
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
jmp 0x64d53b
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x14]
mov eax, dword [esi + 4]
cmp eax, dword [edx + 0x74]
je 0x64dc2a
mov eax, dword [ebp + 0x14]
inc ecx
add esi, 0xc
mov dword [ebp - 0xc], ecx
mov ebx, ecx
mov dword [ebp - 0x28], ecx
movzx eax, word [eax + 0x58]
cmp ecx, eax
jl 0x64d4e0
mov esi, dword [ebp + 0x14]
movzx ecx, word [esi + 0x58]
mov edx, ecx
cmp ebx, edx
jge 0x64d56a
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
jmp 0x64b5d6
mov eax, dword [esi + 0x68]
cmp edx, eax
jb 0x64d5d3
mov ecx, dword [esi]
lea ebx, [eax + eax]
lea eax, [ebx + ebx*2]
shl eax, 2
push dword [ecx + 8]
push eax
mov eax, dword [ecx]
call eax
mov esi, eax
add esp, 8
test esi, esi
je 0x64dc44
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + 0x68]
lea eax, [eax + eax*2]
shl eax, 2
push eax
push dword [ecx + 0x64]
push esi
call fcn.00506640
mov ecx, dword [ebp + 0x14]
add esp, 0xc
cmp dword [ecx + 0x68], 0x14
jbe 0x64d5c6
mov eax, dword [ecx]
push dword [eax + 8]
mov eax, dword [eax + 4]
push dword [ecx + 0x64]
call eax
mov ecx, dword [ebp + 0x14]
add esp, 8
mov dword [ecx + 0x64], esi
mov esi, dword [ebp + 0x14]
movzx ecx, word [esi + 0x58]
mov dword [esi + 0x68], ebx
mov edx, dword [ebp - 0x40]
movzx eax, cx
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov dword [eax + ecx*4], edx
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 0x30]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov word [eax + ecx*4 + 8], dx
movzx eax, word [esi + 0x58]
mov ecx, dword [esi + 0x64]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4 + 4], eax
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 0x14]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov esi, dword [ebp + 8]
mov word [eax + ecx*4 + 0xa], dx
mov edx, dword [ebp + 0x14]
inc word [edx + 0x58]
mov ebx, dword [ebp + 0xc]
jmp 0x64b5d9
cmp dl, 0x2d
jne 0x64d6d8
mov eax, ebx
sub eax, ecx
cmp eax, 1
jle 0x64d6d8
mov al, byte [esi + 1]
cmp al, 0x30
jb 0x64d6d8
cmp al, 0x39
ja 0x64d6d8
cmp dl, 0x30
jb 0x64d663
cmp dl, 0x39
ja 0x64d663
mov eax, 0xffffffff
jmp 0x64d669
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x74]
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x28]
push ecx
push 0xa1
push 0xffff
push eax
lea eax, [ebp + 8]
push ebx
push eax
call fcn.0064f720
add esp, 0x1c
test eax, eax
je 0x64db6c
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp + 8]
test eax, eax
js 0x64dc92
cmp esi, ebx
jae 0x64dd8b
cmp byte [esi], 0x29
jne 0x64dd8b
mov edx, dword [ebp + 0x14]
or eax, 0x80200000
mov dword [edi], eax
mov eax, esi
inc esi
mov dword [ebp - 0x10], 1
sub eax, dword [edx + 0x1c]
mov dword [edi + 4], eax
add edi, 8
mov dword [ebp - 0x34], eax
mov dword [ebp - 8], edi
jmp 0x64b5d9
inc dword [ebp - 4]
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x64d6ed
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x24], eax
jmp 0x64d6ff
add eax, 0xc
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x60]
jae 0x64dcdc
mov edx, dword [ebp + 0x14]
mov ebx, dword [ebp - 4]
mov word [eax], bx
xor ebx, ebx
mov word [eax + 6], bx
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
and eax, 0x10424e8
mov dword [ebx + 8], eax
cmp byte [esi], 0x7c
mov ebx, dword [ebp + 0xc]
jne 0x64d758
mov esi, dword [ebp - 0x24]
movzx eax, word [edx + 0x74]
mov word [esi + 2], ax
movzx eax, word [edx + 0x74]
mov word [esi + 4], ax
mov eax, 1
mov word [esi + 6], ax
lea esi, [ecx + 1]
or dword [edx + 0x70], 0x200000
mov dword [edi], 0x801a0000
add edi, 4
mov dword [ebp - 8], edi
jmp 0x64b5d9
mov eax, dword [ebp - 0x1c]
lea ebx, [ebp - 0x14]
mov dword [ebp - 0x20], eax
xor edx, edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x3c], edx
mov dword [eax + 2], edx
xor eax, eax
cmp byte [esi], 0x5e
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], eax
jne 0x64d78f
and dword [ebp - 0x1c], 0xfeffdb57
lea esi, [ecx + 1]
mov dword [ebp - 0xc], eax
mov ecx, esi
cmp ecx, dword [ebp + 0xc]
jae 0x64d85d
mov edx, ecx
nop word [eax + eax]
mov al, byte [esi]
mov ecx, edx
cmp al, 0x29
je 0x64d855
cmp al, 0x3a
je 0x64d855
movzx eax, al
lea esi, [edx + 1]
sub eax, 0x2d
cmp eax, 0x4b
ja case.0x64d7cd.46
movzx eax, byte [eax + 0x64dfb0]
jmp dword [eax*4 + 0x64df8c]
cmp dword [ebp - 0xc], 0
je 0x64dcaa
lea ebx, [ebp - 0x3c]
mov dword [ebp - 0xc], 0
mov ecx, esi
jmp 0x64d84a
mov eax, dword [ebp + 0x14]
mov ecx, esi
or dword [ebx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x64d84a
or dword [ebx], 8
mov ecx, esi
jmp 0x64d84a
or dword [ebx], 0x400
mov ecx, esi
jmp 0x64d84a
or dword [ebx], 0x2000
mov ecx, esi
jmp 0x64d84a
or dword [ebx], 0x20
mov ecx, esi
jmp 0x64d84a
or dword [ebx], 0x40000
mov ecx, esi
jmp 0x64d84a
mov eax, dword [ebx]
mov ecx, esi
or eax, 0x80
mov dword [ebx], eax
cmp esi, dword [ebp + 0xc]
jae 0x64d84a
cmp byte [esi], 0x78
jne 0x64d84a
or eax, 0x1000000
lea ecx, [esi + 1]
mov dword [ebx], eax
mov esi, ecx
mov edx, ecx
cmp esi, dword [ebp + 0xc]
jb 0x64d7a0
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x3c]
jmp 0x64d860
mov ebx, dword [ebp - 0x44]
mov eax, ebx
and eax, 0x1000080
cmp eax, 0x80
je 0x64d872
test dl, dl
jns 0x64d878
or edx, 0x1000000
or ebx, dword [ebp - 0x1c]
not edx
and ebx, edx
mov dword [ebp - 0x1c], ebx
mov ebx, dword [ebp + 0xc]
cmp ecx, ebx
jae 0x64dd8b
mov al, byte [esi]
lea esi, [ecx + 1]
mov edx, dword [ebp + 0x14]
cmp al, 0x29
jne 0x64d8c8
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x24]
movzx eax, ax
mov dword [ebp - 4], eax
cmp ecx, dword [edx + 0x14]
jbe 0x64d8c3
mov ebx, dword [ebp - 4]
lea eax, [ecx - 0xc]
cmp word [eax], bx
mov ebx, dword [ebp + 0xc]
jne 0x64d8c0
mov dword [ebp - 0x24], eax
jmp 0x64d8d4
mov eax, dword [ebp - 4]
mov word [ecx], ax
jmp 0x64d8d4
mov dword [edi], 0x801a0000
add edi, 4
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x20]
je 0x64b5d9
mov dword [edi], 0x801b0000
mov dword [edi + 4], ecx
add edi, 8
mov dword [ebp - 8], edi
jmp 0x64b5d9
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0x14]
test ecx, ecx
je 0x64d925
mov eax, dword [ebp - 4]
cmp word [ecx], ax
jne 0x64d925
test byte [ecx + 6], 1
je 0x64d925
mov ebx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x74]
movzx eax, word [ebx + 4]
cmp ecx, eax
jbe 0x64d91e
mov word [ebx + 4], cx
movzx eax, word [ebx + 2]
mov dword [edx + 0x74], eax
mov ebx, dword [ebp + 0xc]
mov dword [edi], 0x80010000
add edi, 4
mov dword [ebp - 8], edi
jmp 0x64b5d9
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 1
test ecx, ecx
je 0x64d9b7
mov eax, dword [ebp - 4]
cmp word [ecx], ax
jne 0x64d9b7
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x24]
and eax, 0xfefbdb17
or eax, dword [ecx + 8]
movzx ecx, word [ecx + 6]
mov dword [ebp - 0x1c], eax
mov eax, ecx
test cl, 1
je 0x64d982
mov ecx, dword [ebp + 0x14]
movzx edx, word [ebx + 4]
cmp edx, dword [ecx + 0x74]
jbe 0x64d982
mov dword [ecx + 0x74], edx
movzx eax, word [ebx + 6]
mov ecx, eax
not ecx
shr ecx, 1
and ecx, 1
mov dword [ebp - 0x10], ecx
test al, 4
je 0x64d99b
mov dword [edi], 0x80190000
add edi, 4
mov edx, dword [ebp + 0x14]
cmp ebx, dword [edx + 0x14]
jne 0x64d9ac
mov dword [ebp - 0x24], 0
jmp 0x64d9ba
sub ebx, 0xc
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], ebx
jmp 0x64d9ba
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp - 4]
test cx, cx
je 0x64dcf3
mov ebx, dword [ebp + 0xc]
add ecx, 0xffff
mov dword [edi], 0x80190000
add edi, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 8], edi
jmp 0x64b5e0
mov eax, dword [ebp + 0x14]
mov ecx, 0x8c
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xb0
mov esi, dword [ebp - 0x3c]
dec esi
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x76
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec esi
pop edi
mov ecx, 0x6d
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [esi]
xor ecx, ecx
mov esi, dword [ebp - 0x3c]
dec esi
cmp al, 0x3a
mov eax, dword [ebp + 0x14]
setne cl
add ecx, 0x70
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec esi
pop edi
mov ecx, 0x71
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x6b
mov esi, dword [ebp + 8]
dec esi
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0xab
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov ecx, 0x96
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec esi
pop edi
mov ecx, 0x6c
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x6a
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x80270000
je 0x64db10
cmp edx, 0x80280000
jne 0x64bae9
mov eax, dword [ebp + 0x14]
mov ecx, 0xc6
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xc3
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xa6
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8d
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov esi, edx
pop edi
mov ecx, 0xb5
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8a
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8b
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x73
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xb3
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x7c
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8f
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xa5
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x79
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x95
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov ecx, 0xc5
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec esi
pop edi
mov ecx, 0x73
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov esi, edx
pop edi
mov ecx, 0xc2
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov esi, edx
pop edi
mov ecx, 0x6f
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xb8
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x7a
mov eax, dword [ebp + 0x14]
dec esi
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x77
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x5c], 0
je 0x64b51b
mov eax, dword [ebp + 0x14]
mov ecx, 0xa0
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [ebp - 0x74], 4
je 0x64dd59
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
add ecx, 8
cmp ecx, dword [ebp - 0x78]
jb 0x64dd75
mov eax, dword [ebp + 0x14]
mov ecx, 0xa3
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [ebp - 4], 0
mov dword [ecx], SysReAllocString
jne 0x64dd8b
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x72
mov eax, dword [ebp + 0x14]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret