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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
mov eax, ecx
mov dword [ebp - 0x54], edx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x98], eax
push ebx
mov ecx, dword [eax]
xor ebx, ebx
mov eax, dword [ebp + 0xc]
mov edx, dword [edx]
push esi
push edi
mov esi, dword [eax]
xor edi, edi
inc edi
mov dword [ebp - 0x3c], ebx
mov eax, ecx
mov dword [ebp - 0x28], ebx
shr eax, 9
and eax, edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x94], eax
xor eax, edi
mov dword [ebp - 0x90], eax
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], eax
mov eax, ecx
and eax, edi
mov dword [ebp - 0x10], ecx
shl eax, 8
mov dword [ebp - 0x5c], eax
mov eax, ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 4], esi
movzx ebx, byte [esi]
test eax, eax
je 0x486ffc
test ebx, ebx
je 0x486ffc
cmp ebx, 0x5c
jne 0x486fb7
cmp byte [esi + 1], 0x45
jne 0x486fb7
and dword [ebp - 0xc], 0
inc esi
jmp 0x487078
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x486fd8
push dword [ebp + 0x20]
mov edx, esi
mov ecx, eax
call fcn.00486ef4
and dword [ebp - 0x4c], 0
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 8]
pop ecx
mov ecx, dword [ebp - 0x10]
test ecx, 0x4000
je 0x48787e
push dword [ebp + 0x20]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x4c], edx
mov edx, esi
call fcn.00486ecb
pop ecx
mov edx, eax
jmp 0x48787e
cmp ebx, 0x2a
je 0x487046
cmp ebx, 0x2b
je 0x487046
cmp ebx, 0x3f
je 0x487046
cmp ebx, 0x7b
jne 0x48701f
lea ecx, [esi + 1]
call fcn.00486933
mov esi, dword [ebp - 4]
test eax, eax
jne 0x487046
mov ecx, dword [ebp - 0x4c]
xor edi, edi
test ecx, ecx
je 0x487046
mov edx, dword [ebp - 0x80]
mov eax, edx
dec edx
mov dword [ebp - 0x80], edx
test eax, eax
jg 0x487046
push dword [ebp + 0x20]
mov edx, esi
call fcn.00486ef4
and dword [ebp - 0x4c], edi
mov esi, dword [ebp - 4]
pop ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x20]
test dl, 8
je 0x487081
mov eax, dword [ecx + 0xc]
test byte [ebx + eax], 1
jne 0x48706f
cmp ebx, 0x23
jne 0x487081
inc esi
mov dword [ebp - 4], esi
movzx ebx, byte [esi]
test ebx, ebx
je 0x487081
cmp ebx, 0xa
jne 0x48705f
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
xor edi, edi
inc edi
mov eax, dword [ebp - 0xc]
inc esi
jmp 0x486f94
test edx, 0x4000
je 0x4870a8
test edi, edi
jne 0x4870a8
mov eax, dword [ebp - 8]
mov edx, esi
push ecx
mov ecx, eax
mov dword [ebp - 0x4c], eax
call fcn.00486ecb
mov esi, dword [ebp - 4]
mov edx, eax
pop ecx
mov dword [ebp - 8], edx
jmp 0x4870ab
mov edx, dword [ebp - 8]
cmp ebx, 0x2e
ja 0x48782d
je 0x48780d
mov eax, ebx
sub eax, 0
je 0x48785a
sub eax, 0x24
je 0x487800
sub eax, 4
je 0x4870fb
sub eax, 1
je 0x48785a
sub eax, 1
je 0x4870f7
sub eax, 1
jne 0x48787b
xor ebx, ebx
inc ebx
or eax, 0xffffffff
mov edx, eax
jmp 0x487ef9
xor ebx, ebx
jmp 0x4870ed
and dword [ebp - 0x14], 0
inc esi
mov ecx, dword [ebp - 0x10]
mov ebx, ecx
mov dword [ebp - 4], esi
mov dword [ebp - 0x40], ebx
cmp byte [esi], 0x3f
jne 0x4876c7
inc esi
mov dword [ebp - 4], esi
mov dl, byte [esi]
movzx eax, dl
cmp eax, 0x3c
ja 0x487281
je 0x487244
cmp eax, 0x21
je 0x487229
push 0x23
pop edi
cmp eax, edi
je 0x48721b
cmp eax, 0x28
je 0x4871a6
cmp eax, 0x2f
jbe 0x4872af
cmp eax, 0x39
jbe 0x4873ab
cmp eax, 0x3a
jne 0x4872af
inc esi
mov dword [ebp - 0x20], 0x50
mov dword [ebp - 4], esi
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
xor eax, eax
cmp edx, 0x4a
mov edx, dword [ebp + 0x20]
cmovge eax, esi
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
mov edi, dword [edx + 0x2c]
mov byte [esi], al
mov dword [ebp - 0x50], esi
cmp eax, 0x47
je 0x4876ea
cmp eax, 0x48
je 0x4876ea
xor eax, eax
jmp 0x4876ed
inc esi
mov dword [ebp - 0x20], 0x4b
mov al, byte [esi]
cmp al, 0x52
jne 0x4871c9
mov esi, dword [ebp - 8]
push 3
pop ecx
mov word [esi + 3], 0xff4c
mov byte [esi + 5], 0xff
add dword [ebp - 4], ecx
jmp 0x487171
movzx eax, al
cmp byte [eax + 0x5cd1d0], 0
je 0x48716b
mov dword [ebp - 4], esi
movzx ecx, byte [esi]
sub ecx, 0x30
jmp 0x4871eb
imul ecx, ecx, 0xa
movzx eax, al
add ecx, 0xffffffd0
add ecx, eax
inc esi
mov dword [ebp - 4], esi
mov al, byte [esi]
cmp al, 0x29
jne 0x4871e0
test ecx, ecx
je 0x48843c
inc esi
mov eax, ecx
mov dword [ebp - 4], esi
mov esi, dword [ebp - 8]
sar eax, 8
push 3
mov byte [esi + 5], cl
mov byte [esi + 3], 0x4c
mov byte [esi + 4], al
pop ecx
jmp 0x487171
inc esi
mov dword [ebp - 4], esi
cmp byte [esi], 0x29
jne 0x48721b
jmp 0x487072
mov ecx, dword [ebp - 0x14]
lea eax, [esi + 1]
mov esi, dword [ebp - 8]
push 0x46
mov dword [ebp - 0x20], 0x46
mov dword [ebp - 4], eax
pop edx
jmp 0x487174
lea eax, [esi + 1]
mov esi, dword [ebp - 8]
mov dword [ebp - 4], eax
mov cl, byte [eax]
cmp cl, 0x21
je 0x48726f
cmp cl, 0x3d
mov ecx, dword [ebp - 0x14]
jne 0x487171
push 0x47
pop edx
inc eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 4], eax
jmp 0x487174
mov ecx, dword [ebp - 0x14]
inc eax
push 0x48
pop edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 4], eax
jmp 0x487174
sub eax, 0x3d
je 0x4876be
sub eax, 1
je 0x4876af
sub eax, 5
je 0x487630
sub eax, 0xd
je 0x48743c
dec eax
sub eax, 1
je 0x4873a7
xor ecx, ecx
lea eax, [ebp - 0x44]
xor ebx, ebx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x44], ebx
mov edi, esi
cmp dl, 0x29
je 0x48732a
mov ecx, esi
mov edi, ecx
cmp dl, 0x3a
je 0x487324
lea esi, [ecx + 1]
mov dword [ebp - 4], esi
cmp dl, 0x2d
je 0x487316
cmp dl, 0x55
je 0x48730e
cmp dl, 0x58
je 0x487309
cmp dl, 0x69
je 0x487304
cmp dl, 0x6d
je 0x4872ff
cmp dl, 0x73
je 0x4872fa
cmp dl, 0x78
jne 0x487319
or dword [eax], 8
jmp 0x487319
or dword [eax], 4
jmp 0x487319
or dword [eax], 2
jmp 0x487319
or dword [eax], 1
jmp 0x487319
or dword [eax], 0x40
jmp 0x487319
or dword [eax], 0x200
jmp 0x487319
lea eax, [ebp - 0x1c]
mov dl, byte [esi]
mov edi, esi
mov ecx, edi
cmp dl, 0x29
jne 0x4872c5
mov ebx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
not ecx
or ebx, edx
and ebx, ecx
cmp byte [esi], 0x29
jne 0x487395
mov eax, ebx
xor eax, edx
test al, 7
je 0x48735a
mov eax, dword [ebp - 8]
mov byte [eax], 0x12
lea ecx, [eax + 1]
mov al, bl
lea edx, [ecx + 1]
and al, 7
mov dword [ebp - 8], edx
mov byte [ecx], al
mov esi, dword [ebp - 4]
jmp 0x48735d
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x98]
mov ecx, ebx
xor edi, edi
mov dword [ebp - 0x10], ecx
inc edi
mov dword [eax], ebx
mov eax, ecx
shr eax, 9
and eax, edi
mov dword [ebp - 0x94], eax
xor eax, edi
mov dword [ebp - 0x90], eax
mov eax, ecx
and eax, edi
shl eax, 8
and dword [ebp - 0x18], 0
mov dword [ebp - 0x5c], eax
jmp 0x487078
mov dword [ebp - 0x20], 0x50
lea eax, [edi + 1]
mov dword [ebp - 4], eax
jmp 0x48716b
inc esi
mov dword [ebp - 4], esi
xor ecx, ecx
jmp 0x4873bb
imul eax, ecx, 0xa
lea ecx, [edx - 0x30]
add ecx, eax
inc esi
mov dword [ebp - 4], esi
movzx edx, byte [esi]
test byte [edx + 0x5cd1d0], 4
jne 0x4873af
mov ebx, dword [ebp + 0x20]
mov eax, dword [ebp - 8]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0x18], eax
mov byte [eax], 0
test ecx, ecx
je 0x4873ea
push ecx
xor edx, edx
mov ecx, ebx
call fcn.00486c86
mov ebx, eax
mov eax, dword [ebp - 8]
pop ecx
test ebx, ebx
je 0x48845c
movzx edx, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl edx, 8
or edx, ecx
jne 0x487605
mov esi, dword [ebp + 0x1c]
test esi, esi
je 0x488451
mov ecx, dword [esi + 4]
cmp ecx, ebx
jb 0x488451
push 0
mov edx, eax
call fcn.00486cc8
pop ecx
test eax, eax
je 0x487605
mov esi, dword [esi]
test esi, esi
je 0x488451
mov eax, dword [ebp - 8]
jmp 0x487410
inc esi
mov dword [ebp - 4], esi
mov dl, byte [esi]
mov byte [ebp - 0x2d], dl
cmp dl, 0x3c
jne 0x487537
mov eax, dword [ebp + 0x20]
lea ecx, [esi + 1]
mov esi, ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 4], esi
mov edi, dword [eax + 0x18]
mov al, byte [esi]
inc esi
mov dword [ebp - 4], esi
cmp al, 0x3e
jne 0x48745f
mov eax, dword [ebp + 0x20]
mov ebx, esi
sub ebx, ecx
xor edx, edx
dec ebx
mov dword [ebp - 0x1c], edx
mov eax, dword [eax + 0x1c]
test eax, eax
jle 0x4874d7
push ebx
lea eax, [edi + 2]
push eax
push ecx
call fcn.004c4060
add esp, 0xc
test eax, eax
jne 0x48749e
cmp byte [ebx + edi + 2], al
je 0x488446
or eax, 0xffffffff
test eax, eax
js 0x4874b7
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x1c]
add edi, dword [ecx + 0x20]
inc eax
cmp eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
jl 0x48747d
jmp 0x4874d4
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
sub eax, dword [ebp - 0x1c]
imul eax, ecx
push eax
lea eax, [ecx + edi]
push edi
push eax
call fcn.004c3230
add esp, 0xc
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x54]
push ebx
push ecx
mov eax, dword [edx]
inc eax
sar eax, 8
mov byte [edi], al
mov al, byte [edx]
inc al
mov byte [edi + 1], al
lea eax, [edi + 2]
push eax
call fcn.004c2cb0
mov ecx, dword [ebp + 0x20]
add esp, 0xc
mov byte [ebx + edi + 2], 0
mov ebx, dword [ebp - 0x40]
inc dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 8]
inc dword [ecx]
mov eax, dword [ecx]
cmp eax, 0x64
jle 0x4876df
sar eax, 8
mov edx, 0xb5
mov byte [esi + 4], al
mov al, byte [ecx]
push 3
mov dword [ebp - 0x20], edx
mov byte [esi + 3], 0x4f
mov byte [esi + 5], al
pop ecx
jmp 0x487174
cmp dl, 0x3d
je 0x487545
cmp dl, 0x3e
jne 0x48716b
mov eax, dword [ebp + 0x20]
lea ecx, [esi + 1]
mov dword [ebp - 0x40], ecx
mov esi, ecx
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x487559
inc esi
mov dword [ebp - 4], esi
cmp byte [esi], 0x29
jne 0x487558
mov eax, dword [ebp + 0x20]
mov ebx, esi
xor edi, edi
sub ebx, ecx
cmp dword [eax + 0x1c], edi
mov eax, dword [ebp - 0x1c]
jle 0x48759f
push ebx
add eax, 2
push eax
push ecx
call fcn.004d6570
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 0x1c]
je 0x487599
mov ecx, dword [ebp + 0x20]
add eax, dword [ecx + 0x20]
inc edi
cmp edi, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
jl 0x487572
mov esi, dword [ebp - 4]
mov dl, byte [ebp - 0x2d]
mov ebx, dword [ebp + 0x20]
cmp edi, dword [ebx + 0x1c]
jge 0x48845f
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
shl eax, 8
or ecx, eax
cmp dl, 0x3e
je 0x4873ca
mov edx, dword [ebp - 8]
mov eax, ecx
shr eax, 8
xor edi, edi
mov dword [ebp - 0x18], edx
inc edi
mov byte [edx], 0x3e
mov byte [edx + 1], al
mov eax, edi
mov byte [edx + 2], cl
add edx, 3
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edx
mov edx, edi
shl edx, cl
cmp ecx, 0x20
cmovb eax, edx
mov edx, dword [ebp - 8]
or dword [ebx + 0x28], eax
mov eax, dword [ebp - 0xc]
cmp ecx, dword [ebx + 0x24]
jle 0x4875fd
mov dword [ebx + 0x24], ecx
mov ecx, dword [ebp - 0x10]
jmp 0x48707b
mov ecx, dword [ebp + 0x20]
mov eax, ebx
mov edx, dword [ebp - 8]
sub eax, dword [ecx + 0x10]
sar eax, 8
sub bl, byte [ecx + 0x10]
mov byte [edx], 0x3f
mov byte [edx + 2], bl
mov byte [edx + 1], al
add edx, 3
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0x10]
jmp 0x487075
mov edx, dword [ebp - 8]
xor edi, edi
inc edi
mov dword [ebp - 0x4c], edx
xor eax, eax
mov dword [ebp - 0x80], edi
mov byte [edx], 0x40
mov esi, dword [ebp - 4]
inc esi
mov dword [ebp - 4], esi
movzx ecx, byte [esi]
test byte [ecx + 0x5cd1d0], 4
je 0x487677
imul eax, eax, 0xa
add ecx, 0xffffffd0
add eax, ecx
inc esi
mov dword [ebp - 4], esi
movzx ecx, byte [esi]
test byte [ecx + 0x5cd1d0], 4
jne 0x487654
cmp eax, 0xff
jg 0x48846a
mov ecx, dword [ebp + 0x20]
mov byte [edx + 1], al
mov eax, dword [ebp - 4]
sub eax, dword [ecx + 0x14]
inc eax
sar eax, 8
mov byte [edx + 2], al
mov al, byte [ebp - 4]
sub al, byte [ecx + 0x14]
inc al
mov byte [edx + 3], al
xor eax, eax
mov word [edx + 4], ax
add edx, 6
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 0x10]
jmp 0x487078
mov dword [ebp - 0x20], 0x4a
lea eax, [esi + 1]
jmp 0x48739f
mov dword [ebp - 0x20], 0x45
jmp 0x4876b6
test ecx, 0x1000
je 0x487505
mov dword [ebp - 0x20], 0x50
jmp 0x48716b
add eax, 0x50
mov dword [ebp - 0x20], eax
jmp 0x48716e
xor eax, eax
inc eax
push edx
push dword [ebp + 0x1c]
lea edx, [ebp - 0x84]
push edx
lea edx, [ebp - 0x8c]
push edx
mov edx, dword [ebp - 0x10]
push ecx
push eax
push dword [ebp + 0x10]
lea eax, [ebp - 4]
and edx, 7
push eax
lea eax, [ebp - 0x50]
mov ecx, ebx
push eax
push dword [ebp - 0x54]
call fcn.004884d2
add esp, 0x28
test eax, eax
je 0x488489
cmp dword [ebp - 0x20], 0x4b
jne 0x48776c
mov ebx, dword [ebp - 8]
xor edx, edx
movzx ecx, byte [ebx + 1]
mov esi, edx
movzx eax, byte [ebx + 2]
inc edx
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x42
jne 0x487732
cmp esi, 2
jge 0x488475
cmp edx, 1
jne 0x48776c
or esi, 0xffffffff
mov eax, esi
mov ecx, esi
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x8c], ecx
jmp 0x48777b
mov eax, dword [ebp - 0x84]
or esi, 0xffffffff
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x34]
and dword [ebp - 0x88], 0
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x48], edx
cmp ebx, 0x50
jge 0x4877a7
cmp ebx, 0x4a
je 0x4877a7
cmp ebx, 0x4b
je 0x4877a7
cmp ebx, 0x45
jne 0x4877e0
jmp 0x4877d9
cmp edx, 0xfffffffe
jne 0x4877c7
test ecx, ecx
js 0x4877bf
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x88], 1
jmp 0x4877c2
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x48], esi
jmp 0x4877d9
test ecx, ecx
js 0x4877d9
test eax, eax
jns 0x4877dd
mov eax, ecx
or eax, edi
mov dword [ebp - 0x84], eax
test eax, eax
js 0x4877e0
mov dword [ebp - 0x34], eax
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 8], edx
cmp byte [esi], 0x29
je 0x487628
mov eax, dword [ebp + 0x10]
mov dword [eax], 0xe
jmp 0x4884c6
and dword [ebp - 0x18], 0
mov byte [edx], 0x14
inc edx
jmp 0x487622
mov ebx, dword [ebp - 0x2c]
cmp ebx, 0xfffffffe
push 0xffffffffffffffff
pop eax
cmove ebx, eax
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x38], eax
mov byte [edx], 0xb
jmp 0x487807
mov eax, ebx
sub eax, 0x3f
je 0x487ef4
sub eax, 0x1c
je 0x4879e0
sub eax, 1
je 0x4878e5
dec eax
sub eax, 1
je 0x4878b8
sub eax, 0x1d
je 0x487877
sub eax, 1
jne 0x48787b
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov eax, dword [ebp + 8]
mov dword [eax], edx
xor eax, eax
inc eax
jmp 0x4884c8
test edi, edi
jne 0x487888
xor edi, edi
inc edi
mov esi, dword [ebp - 0x34]
mov ecx, ebx
jmp 0x4879a0
push dword [ebp + 0x10]
lea eax, [ebp - 0x28]
push eax
lea ecx, [esi + 1]
lea edx, [ebp - 0x3c]
call fcn.00486997
mov esi, eax
mov eax, dword [ebp + 0x10]
pop ecx
pop ecx
mov dword [ebp - 4], esi
cmp dword [eax], 0
jne 0x4884c6
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x3c]
jmp 0x487f02
mov ecx, dword [ebp - 0x10]
test cl, 2
je 0x4878d2
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
push 0xffffffffffffffff
pop eax
cmove ecx, eax
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x10]
and dword [ebp - 0x18], 0
mov byte [edx], 0x13
inc edx
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edx
jmp 0x487075
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 4]
mov edx, dword [ebp + 0x10]
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x58], esi
push dword [eax]
call fcn.004867af
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x14], ecx
test ecx, ecx
jns 0x487995
neg eax
cmp eax, 0x13
jne 0x48793b
mov esi, dword [ebp - 4]
cmp byte [esi + 1], 0x5c
jne 0x48792b
cmp byte [esi + 2], 0x45
jne 0x48792b
add esi, 2
jmp 0x48706f
mov edx, dword [ebp - 8]
xor edi, edi
inc edi
mov eax, edi
mov dword [ebp - 0xc], eax
jmp 0x4875fd
mov ebx, dword [ebp - 0x2c]
cmp ebx, 0xfffffffe
jne 0x487954
cmp eax, 4
jle 0x487954
push 0xffffffffffffffff
cmp eax, 0x10
pop edx
cmovl ebx, edx
mov dword [ebp - 0x2c], ebx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 8]
mov dword [ebp - 0x48], ebx
cmp eax, 0x14
jl 0x48797e
push 0xffffffffffffffec
pop ecx
sub ecx, dword [ebp - 0x14]
mov eax, ecx
mov byte [edx], 0x3e
mov dword [ebp - 0x18], edx
sar eax, 8
mov byte [edx + 2], cl
jmp 0x48761c
add eax, 0xfffffffb
xor ebx, ebx
cmp eax, 0xa
cmovbe ebx, edx
neg cl
mov dword [ebp - 0x18], ebx
mov byte [edx], cl
jmp 0x487807
mov esi, dword [ebp - 0x34]
xor edi, edi
inc edi
mov edx, dword [ebp - 8]
mov bl, cl
test byte [ebp - 0x10], 1
mov dword [ebp - 0x18], edx
setne al
mov dword [ebp - 0x38], esi
add al, 0x15
mov byte [edx], al
lea eax, [edx + 1]
mov byte [edx + 1], bl
add edx, 2
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edx
cmp ebx, 0xfffffffe
jne 0x487e7d
or eax, 0xffffffff
mov dword [ebp - 0x48], eax
movzx eax, cl
or eax, dword [ebp - 0x5c]
mov dword [ebp - 0x2c], eax
jmp 0x4876a7
mov al, byte [esi + 1]
mov dword [ebp - 0x18], edx
cmp al, 0x3a
je 0x4879f2
cmp al, 0x2e
je 0x4879f2
cmp al, 0x3d
jne 0x487a0b
push dword [ebp + 0x20]
lea edx, [ebp - 0x58]
mov ecx, esi
call fcn.00486de4
mov esi, dword [ebp - 4]
pop ecx
test eax, eax
jne 0x4884a1
lea ebx, [esi + 1]
mov dword [ebp - 4], ebx
mov dl, byte [ebx]
cmp dl, 0x5e
jne 0x487a27
inc ebx
mov dword [ebp - 0x44], 1
mov dword [ebp - 4], ebx
mov dl, byte [ebx]
jmp 0x487a2b
and dword [ebp - 0x44], 0
xor eax, eax
movzx esi, dl
or ecx, 0xffffffff
mov dword [ebp - 0x24], eax
mov eax, ecx
lea edi, [ebp - 0x7c]
mov dword [ebp - 0x14], eax
xor eax, eax
push 8
pop ecx
rep stosd dword es:[edi], eax
mov edx, eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x38], edx
test eax, eax
je 0x487a71
cmp esi, 0x5c
jne 0x487e29
cmp byte [ebx + 1], 0x45
jne 0x487e29
xor esi, esi
inc ebx
mov dword [ebp - 0xc], esi
mov eax, esi
jmp 0x487b79
cmp esi, 0x5b
jne 0x487bd1
mov al, byte [ebx + 1]
cmp al, 0x3a
je 0x487a8d
cmp al, 0x2e
je 0x487a8d
cmp al, 0x3d
jne 0x487c03
mov edi, dword [ebp + 0x20]
lea edx, [ebp - 0x58]
push edi
mov ecx, ebx
call fcn.00486de4
pop ecx
test eax, eax
je 0x487c00
mov esi, dword [ebp - 4]
mov eax, dword [edi + 8]
mov dword [ebp - 0x40], eax
cmp byte [esi + 1], 0x3a
jne 0x48848e
lea ecx, [esi + 2]
mov dword [ebp - 4], ecx
mov al, byte [ecx]
mov byte [ebp - 0x2d], al
cmp al, 0x5e
jne 0x487aca
inc ecx
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x58]
sub edx, ecx
call fcn.00486e2b
test eax, eax
js 0x488480
test byte [ebp - 0x10], 1
je 0x487aea
xor ecx, ecx
cmp eax, 2
cmovle eax, ecx
imul ebx, eax, 3
xor edi, edi
push 5
push str.blank
push dword [ebp - 4]
call fcn.004d6570
add esp, 0xc
lea ecx, [edi + ebx]
mov ecx, dword [ecx*4 + 0x5cd3a0]
mov esi, eax
neg esi
sbb esi, esi
inc esi
test ecx, ecx
js 0x487b6c
mov edx, dword [ebp - 0x40]
add edx, ecx
xor ecx, ecx
cmp byte [ebp - 0x2d], 0x5e
jne 0x487b51
test edi, edi
jne 0x487b38
mov al, byte [edx + ecx]
not al
or byte [ebp + ecx - 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x487b27
jmp 0x487b47
mov al, byte [edx + ecx]
not al
and byte [ebp + ecx - 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x487b38
test esi, esi
je 0x487b66
or byte [ebp - 0x7b], 0x3c
jmp 0x487b66
mov al, byte [edx + ecx]
or byte [ebp + ecx - 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x487b51
test esi, esi
je 0x487b66
and byte [ebp - 0x7b], 0xc3
inc edi
cmp edi, 3
jl 0x487aef
mov ebx, dword [ebp - 0x58]
push 0xa
pop edx
inc ebx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0xc]
xor edi, edi
inc edi
mov ecx, dword [ebp - 0x14]
inc ebx
mov dword [ebp - 4], ebx
movzx esi, byte [ebx]
cmp esi, 0x5d
jne 0x487a4a
test eax, eax
jne 0x487a4a
cmp edx, edi
jne 0x487e94
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x44], eax
je 0x48799b
mov ebx, dword [ebp - 0x2c]
cmp ebx, 0xfffffffe
push 0xffffffffffffffff
pop eax
cmove ebx, eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x48], ebx
mov byte [eax], 0x17
lea edx, [eax + 2]
mov byte [eax + 1], cl
jmp 0x4876a1
cmp esi, 0x5c
jne 0x487c03
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 4]
mov ebx, dword [ebp + 0x10]
xor edi, edi
inc edi
mov edx, ebx
push edi
push dword [ebp - 0x10]
push dword [eax]
call fcn.004867af
mov esi, eax
add esp, 0xc
cmp esi, 0xfffffffc
jne 0x487ce3
push 8
pop esi
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
cmp byte [ebx + 1], 0x2d
jne 0x487e29
lea eax, [ebx + 2]
cmp byte [eax], 0x5d
mov dword [ebp - 0x40], eax
je 0x487e29
mov ebx, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1c], ebx
movzx edi, byte [ebx]
cmp edi, 0x5c
jne 0x487c5d
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp + 0x10]
push 1
push ecx
push dword [eax]
lea ecx, [ebp - 4]
call fcn.004867af
mov edi, eax
add esp, 0xc
test edi, edi
jns 0x487c57
cmp edi, 0xfffffffc
jne 0x487e14
push 8
pop edi
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x1c], ebx
cmp edi, esi
je 0x487e29
mov ecx, dword [ebp - 0x38]
mov edx, ecx
mov dword [ebp - 0x24], edx
jl 0x487b76
mov eax, dword [ebp - 0x10]
and eax, 1
mov dword [ebp - 0x40], eax
mov eax, edi
mov ebx, dword [ebp - 0x40]
sub eax, esi
inc eax
add eax, ecx
mov dword [ebp - 0x24], eax
mov edx, esi
test edx, edx
jns 0x487c92
add edx, 7
sar edx, 3
movzx ecx, byte [ebp + edx - 0x7c]
mov eax, esi
and eax, 7
bts ecx, eax
mov byte [ebp + edx - 0x7c], cl
test ebx, ebx
je 0x487cc8
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 4]
movzx edx, byte [esi + eax]
mov ecx, edx
and edx, 7
shr ecx, 3
movzx eax, byte [ebp + ecx - 0x7c]
bts eax, edx
mov byte [ebp + ecx - 0x7c], al
mov ecx, esi
inc esi
mov dword [ebp - 0x14], ecx
cmp esi, edi
jle 0x487c89
mov ebx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
xor edi, edi
inc edi
jmp 0x487b7f
cmp esi, 0xfffffff1
jne 0x487cef
push 0x58
jmp 0x487bff
cmp esi, 0xffffffed
jne 0x487d1e
mov ebx, dword [ebp - 4]
cmp byte [ebx + 1], 0x5c
jne 0x487d11
cmp byte [ebx + 2], 0x45
jne 0x487d11
mov edx, dword [ebp - 0x24]
add ebx, 2
mov eax, dword [ebp - 0xc]
jmp 0x487b7c
mov edx, dword [ebp - 0x24]
mov eax, edi
mov dword [ebp - 0xc], eax
jmp 0x487b7c
test esi, esi
jns 0x487c00
mov eax, dword [ebp + 0x20]
neg esi
mov edx, dword [ebp - 0x24]
add edx, 2
mov dword [ebp - 0x24], edx
mov edi, dword [eax + 8]
sub esi, 5
je 0x487dfd
sub esi, 1
je 0x487deb
sub esi, 1
je 0x487dcc
sub esi, 1
je 0x487da6
sub esi, 1
je 0x487d8f
sub esi, 1
je 0x487d74
mov ecx, dword [ebp - 0x10]
test cl, 0x40
jne 0x488499
mov ebx, dword [ebp - 4]
movzx esi, byte [ebx]
jmp 0x487c06
xor ecx, ecx
mov al, byte [edi + ecx + 0xa0]
or byte [ebp + ecx - 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x487d76
mov ebx, dword [ebp - 4]
jmp 0x487b76
xor ecx, ecx
mov al, byte [edi + ecx + 0xa0]
not al
or byte [ebp + ecx - 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x487d91
jmp 0x487d87
lea eax, [ebp - 0x7c]
xor edx, edx
sub edi, eax
lea ecx, [ebp - 0x7c]
add ecx, edx
mov al, byte [edi + ecx]
or byte [ecx], al
inc edx
cmp edx, 0x20
jl 0x487dad
and byte [ebp - 0x7b], 0xf7
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
jmp 0x487b76
lea eax, [ebp - 0x7c]
xor edx, edx
sub edi, eax
lea ecx, [ebp - 0x7c]
add ecx, edx
mov al, byte [edi + ecx]
not al
or byte [ecx], al
inc edx
cmp edx, 0x20
jl 0x487dd3
or byte [ebp - 0x7b], 8
jmp 0x487dc1
xor ecx, ecx
mov al, byte [edi + ecx + 0x40]
or byte [ebp + ecx - 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x487ded
jmp 0x487d87
xor ecx, ecx
mov al, byte [edi + ecx + 0x40]
not al
or byte [ebp + ecx - 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x487dff
jmp 0x487d87
cmp edi, 0xfffffff1
jne 0x487e20
push 0x58
jmp 0x487c56
mov ebx, dword [ebp - 0x40]
add ebx, 0xfffffffe
mov dword [ebp - 4], ebx
mov edx, esi
test edx, edx
jns 0x487e32
add edx, 7
sar edx, 3
movzx ecx, byte [ebp + edx - 0x7c]
mov eax, esi
and eax, 7
bts ecx, eax
test byte [ebp - 0x10], 1
mov byte [ebp + edx - 0x7c], cl
je 0x487e6c
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 4]
movzx edx, byte [esi + eax]
mov esi, edx
shr edx, 3
mov eax, esi
and eax, 7
movzx ecx, byte [ebp + edx - 0x7c]
bts ecx, eax
mov byte [ebp + edx - 0x7c], cl
mov edx, dword [ebp - 0x38]
mov ecx, esi
inc edx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x24], edx
jmp 0x487cd8
movzx ecx, byte [eax]
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x48], ebx
or ecx, dword [eax + 0x2c]
or ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x34], ecx
jmp 0x4876a7
mov eax, dword [ebp - 0x2c]
cmp eax, 0xfffffffe
push 0xffffffffffffffff
pop ecx
cmove eax, ecx
cmp dword [ebp - 0x44], 0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
je 0x487ed8
mov eax, dword [ebp - 8]
lea edx, [ebp - 0x7c]
push 0x20
pop esi
mov byte [eax], 0x3c
inc eax
mov dword [ebp - 8], eax
sub edx, eax
mov ecx, eax
mov al, byte [edx + ecx]
not al
mov byte [ecx], al
inc ecx
sub esi, 1
jne 0x487ec6
mov edx, dword [ebp - 8]
jmp 0x487eec
mov edx, dword [ebp - 8]
lea esi, [ebp - 0x7c]
push 8
pop ecx
mov byte [edx], 0x3b
inc edx
mov edi, edx
rep movsd dword es:[edi], dword [esi]
xor edi, edi
inc edi
add edx, 0x20
jmp 0x4876a1
xor edx, edx
xor ebx, ebx
inc edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x28], edx
mov edi, dword [ebp - 0x18]
test edi, edi
je 0x4884c0
test ebx, ebx
jne 0x487f1d
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
xor ecx, ecx
mov dword [ebp - 0x50], edi
cmp ebx, edx
mov eax, 0x200
cmove eax, ecx
mov dword [ebp - 0x9c], eax
xor eax, eax
and dword [ebp - 0x40], eax
mov dword [ebp - 0x14], eax
lea eax, [esi + 1]
mov cl, byte [eax]
cmp cl, 0x2b
jne 0x487f51
and dword [ebp - 0x24], 0
mov dword [ebp - 0x40], 1
jmp 0x487f5f
cmp cl, 0x3f
jne 0x487f66
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x24], ecx
mov esi, eax
mov dword [ebp - 4], esi
jmp 0x487f6f
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x24], eax
cmp byte [edi], 0x3f
jne 0x487fba
mov ebx, dword [ebp - 0x18]
push 3
push ebx
lea eax, [ebx + 3]
push eax
call fcn.004c3230
mov edx, dword [ebp - 8]
add esp, 0xc
add edx, 3
mov byte [ebx], 0x50
mov ecx, edx
mov al, dl
sub ecx, ebx
sar ecx, 8
sub al, bl
mov byte [ebx + 1], cl
lea edi, [edx + 3]
mov byte [ebx + 2], al
mov byte [edx], 0x42
mov byte [edx + 1], cl
mov byte [edx + 2], al
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 4]
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 8], edi
jmp 0x487fbd
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
mov al, byte [ecx]
cmp al, 0x15
je 0x4882f2
cmp al, 0x16
je 0x4882f2
cmp al, 0x17
jne 0x487fea
mov ebx, ecx
push 9
movzx ebx, byte [ebx + 1]
pop ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x1c], ebx
jmp 0x48830f
cmp al, 0x10
jae 0x487ff5
push 0x12
movzx ebx, al
jmp 0x487fde
cmp al, 0x3b
je 0x488265
cmp al, 0x3c
je 0x488265
cmp al, 0x3e
je 0x488265
cmp al, 0x50
jae 0x48801d
cmp al, 0x4a
je 0x48801d
cmp al, 0x4b
jne 0x4884b5
mov eax, dword [ebp - 0x18]
xor ecx, ecx
and dword [ebp - 0x14], 0
sub edi, eax
mov dword [ebp - 0x1c], ecx
or ecx, 0xffffffff
mov dword [ebp - 0x44], edi
cmp edx, ecx
jne 0x48805d
mov edi, eax
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x42
jne 0x488037
mov ecx, dword [ebp - 8]
mov eax, ecx
sub eax, edi
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
jmp 0x488060
mov ecx, dword [ebp - 8]
test ebx, ebx
jne 0x4880ef
test edx, edx
jne 0x488073
mov edx, eax
jmp 0x48826b
mov ebx, dword [ebp - 0x24]
xor eax, eax
push dword [ebp + 0x20]
inc eax
mov byte [ecx], 0
add ebx, 0x4d
push 0
cmp edx, eax
jg 0x4880b0
mov ecx, dword [ebp - 0x18]
mov edx, eax
call fcn.00486e69
mov eax, dword [ebp - 0x18]
push edi
push eax
lea esi, [eax + 1]
push esi
call fcn.004c3230
mov eax, dword [ebp - 0x18]
add esp, 0x14
inc dword [ebp - 8]
mov dword [ebp - 0x18], esi
mov byte [eax], bl
jmp 0x4880e6
mov esi, dword [ebp - 0x18]
mov ecx, esi
push 4
pop edx
call fcn.00486e69
push edi
lea eax, [esi + 4]
push esi
push eax
call fcn.004c3230
lea ecx, [esi + 2]
mov byte [esi], bl
lea eax, [ecx + 2]
mov byte [esi + 1], 0x50
add esp, 0x14
mov dword [ebp - 0x1c], ecx
add dword [ebp - 8], 4
mov word [ecx], 0
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 4]
dec edx
jmp 0x488140
xor edi, edi
inc edi
cmp ebx, edi
jle 0x48813a
cmp dword [ebp - 0x88], 0
je 0x48810e
mov eax, dword [ebp - 0x34]
test eax, eax
cmovs eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
cmp ebx, 1
jle 0x48813a
mov esi, dword [ebp - 0x44]
push esi
push eax
push ecx
call fcn.004c2cb0
mov ecx, dword [ebp - 8]
add esp, 0xc
mov ebx, dword [ebp - 0x3c]
add ecx, esi
mov eax, dword [ebp - 0x18]
inc edi
mov dword [ebp - 8], ecx
cmp edi, ebx
jl 0x488116
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 4]
test edx, edx
jle 0x488145
sub edx, ebx
mov dword [ebp - 0x28], edx
test edx, edx
js 0x488250
mov ecx, dword [ebp - 8]
lea edi, [edx - 1]
test edi, edi
js 0x4881b0
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x44]
add al, 0x4d
mov dword [ebp - 0x24], eax
mov byte [ecx], al
inc ecx
mov dword [ebp - 8], ecx
test edi, edi
je 0x488190
mov edx, dword [ebp - 0x1c]
mov byte [ecx], 0x50
inc ecx
mov eax, ecx
mov dword [ebp - 0x1c], ecx
sub eax, edx
neg edx
sbb edx, edx
and edx, eax
mov eax, edx
mov byte [ecx + 1], dl
sar eax, 8
mov byte [ecx], al
lea eax, [ecx + 2]
mov dword [ebp - 8], eax
mov ecx, eax
push ebx
push dword [ebp - 0x18]
push ecx
call fcn.004c2cb0
mov ecx, dword [ebp - 8]
add esp, 0xc
mov eax, dword [ebp - 0x24]
add ecx, ebx
sub edi, 1
mov dword [ebp - 8], ecx
jns 0x488160
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 0x1c]
test edi, edi
je 0x4881f9
mov ebx, ecx
mov edx, ecx
sub ebx, edi
inc ebx
sub edx, ebx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
mov eax, ebx
sub edi, ecx
neg ecx
sbb ecx, ecx
sar eax, 8
and edi, ecx
mov ecx, dword [ebp - 8]
mov byte [ecx], 0x42
mov byte [ecx + 1], al
mov byte [ecx + 2], bl
add ecx, 3
mov dword [ebp - 8], ecx
mov byte [edx + 1], al
mov byte [edx + 2], bl
test edi, edi
jne 0x4881b7
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 8]
cmp dword [ebp - 0x40], 0
je 0x488427
mov eax, dword [ebp - 0x50]
mov ebx, edx
sub ebx, eax
push ebx
push eax
add eax, 3
push eax
call fcn.004c3230
mov eax, dword [ebp - 0x50]
add ebx, 3
mov edx, dword [ebp - 8]
mov ecx, ebx
sar ecx, 8
add esp, 0xc
mov byte [eax], 0x4a
mov byte [edx + 3], 0x42
mov byte [edx + 4], cl
mov byte [edx + 5], bl
add edx, 6
mov eax, dword [ebp - 0x50]
mov dword [ebp - 8], edx
mov byte [eax + 1], cl
mov eax, dword [ebp - 0x50]
mov byte [eax + 2], bl
mov esi, dword [ebp - 4]
jmp 0x488427
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 8]
add cl, 0x43
mov eax, edx
sub eax, dword [ebp - 0x14]
mov byte [eax], cl
mov esi, dword [ebp - 4]
jmp 0x4881fc
test edx, edx
jne 0x488273
mov edx, ecx
mov dword [ebp - 8], edx
jmp 0x488427
xor eax, eax
inc eax
cmp edx, eax
je 0x488280
mov ecx, dword [ebp + 0x20]
mov dword [ecx + 0x30], eax
test ebx, ebx
jne 0x4882a3
or ecx, 0xffffffff
cmp edx, ecx
jne 0x488292
mov eax, dword [ebp - 0x24]
add al, 0x33
jmp 0x48829b
cmp edx, eax
jne 0x4882b5
mov eax, dword [ebp - 0x24]
add al, 0x37
mov edx, dword [ebp - 8]
mov byte [edx], al
inc edx
jmp 0x4882ea
cmp ebx, eax
jne 0x4882b5
or eax, 0xffffffff
cmp edx, eax
jne 0x4882b5
mov eax, dword [ebp - 0x24]
add al, 0x35
jmp 0x48829b
mov eax, dword [ebp - 0x24]
xor edx, edx
add al, 0x39
or ebx, 0xffffffff
mov byte [edi], al
mov eax, dword [ebp - 0x3c]
sar eax, 8
mov byte [edi + 1], al
mov al, byte [ebp - 0x3c]
mov byte [edi + 2], al
mov eax, dword [ebp - 0x28]
cmp eax, ebx
cmove eax, edx
lea edx, [edi + 5]
mov dword [ebp - 0x28], eax
sar eax, 8
mov byte [edi + 3], al
mov al, byte [ebp - 0x28]
mov byte [edi + 4], al
mov dword [ebp - 8], edx
jmp 0x488260
movzx ecx, byte [edi - 1]
mov dword [ebp - 0x1c], ecx
cmp ebx, 1
jle 0x48830c
mov ebx, dword [ebp + 0x20]
mov ebx, dword [ebx + 0x2c]
or ebx, ecx
or ebx, dword [ebp - 0x5c]
mov dword [ebp - 0x34], ebx
mov ecx, dword [ebp - 0x14]
cmp al, 0xe
je 0x488321
cmp al, 0xd
je 0x488321
or eax, 0xffffffff
mov ebx, eax
mov eax, dword [ebp - 0x18]
jmp 0x488328
mov eax, dword [ebp - 0x18]
movzx ebx, byte [eax + 1]
mov dword [ebp - 8], eax
test edx, edx
je 0x488424
xor eax, eax
inc eax
cmp edx, eax
je 0x488343
mov ecx, dword [ebp + 0x20]
mov dword [ecx + 0x30], eax
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x488376
or eax, 0xffffffff
cmp edx, eax
jne 0x488359
add cl, 0x18
jmp 0x488361
cmp edx, 1
jne 0x48836e
add cl, 0x1c
mov eax, dword [ebp - 0x18]
mov byte [eax], cl
lea edx, [eax + 1]
jmp 0x48841c
mov edx, dword [ebp - 0x18]
jmp 0x488405
cmp eax, 1
jne 0x4883af
or eax, 0xffffffff
cmp edx, eax
jne 0x488387
add cl, 0x1a
jmp 0x488361
mov dword [ebp - 8], edi
cmp edx, 1
je 0x488424
add cl, 0x1e
lea edx, [edi + 3]
mov byte [edi], cl
mov eax, dword [ebp - 0x28]
dec eax
sar eax, 8
mov byte [edi + 1], al
mov al, byte [ebp - 0x28]
dec al
mov byte [edi + 2], al
jmp 0x48841c
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
add al, 0x20
mov byte [edx], al
mov eax, dword [ebp - 0x3c]
sar eax, 8
mov byte [edx + 1], al
mov al, byte [ebp - 0x3c]
mov byte [edx + 2], al
add edx, 3
mov eax, dword [ebp - 0x28]
test eax, eax
jns 0x4883ed
mov eax, dword [ebp - 0x1c]
mov byte [edx], al
lea eax, [edx + 1]
mov edx, eax
test ebx, ebx
js 0x4883e5
mov byte [edx], bl
lea edx, [eax + 1]
add cl, 0x18
mov byte [edx], cl
inc edx
jmp 0x48841c
cmp eax, dword [ebp - 0x3c]
je 0x48841c
mov eax, dword [ebp - 0x1c]
mov byte [edx], al
inc edx
test ebx, ebx
js 0x4883ff
mov byte [edx], bl
inc edx
mov eax, dword [ebp - 0x3c]
sub dword [ebp - 0x28], eax
add cl, 0x1e
mov byte [edx], cl
mov eax, dword [ebp - 0x28]
sar eax, 8
mov byte [edx + 1], al
mov al, byte [ebp - 0x28]
mov byte [edx + 2], al
add edx, 3
mov eax, dword [ebp - 0x1c]
jmp 0x48829e
mov edx, dword [ebp - 8]
mov ecx, dword [ebp + 0x20]
and dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x9c]
or dword [ecx + 0x2c], eax
jmp 0x487628
mov eax, dword [ebp + 0x10]
mov dword [eax], edi
jmp 0x4884c6
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x2b
jmp 0x4884c6
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x28
jmp 0x488489
mov esi, dword [ebp - 4]
mov eax, dword [ebp + 0x10]
mov dword [eax], 0xf
jmp 0x4884c6
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x26
jmp 0x4884c6
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x1b
jmp 0x488489
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x1e
mov esi, dword [ebp - 4]
jmp 0x4884c6
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x1f
jmp 0x4884c6
mov dword [ebx], 7
jmp 0x488489
cmp byte [esi + 1], 0x3a
push 0x1f
pop eax
push 0xd
pop ecx
cmove eax, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
jmp 0x4884c6
mov eax, dword [ebp + 0x10]
mov dword [eax], 0xb
jmp 0x4884c6
mov dword [eax], 9
xor eax, eax
mov ecx, dword [ebp + 0xc]
pop edi
mov dword [ecx], esi
pop esi
pop ebx
leave
ret