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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
mov ecx, dword [ebp + 8]
xor eax, eax
mov edx, dword [ebp + 0xc]
push ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], eax
mov byte [ebp - 1], al
mov byte [ebp - 3], al
mov dword [ebp - 0xc], eax
push esi
mov esi, dword [ecx]
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ecx]
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
mov eax, esi
shr eax, 9
and eax, 1
mov dword [ebp - 0x50], eax
xor eax, 1
push edi
mov dword [ebp - 0x4c], eax
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], eax
mov eax, esi
and eax, 1
shl eax, 8
mov dword [ebp - 0x30], esi
mov dword [ebp - 8], ecx
mov dword [ebp - 0x34], eax
cmp byte [ebp - 1], 0
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
mov dword [ebp - 0x24], eax
je 0x14d09d33
test eax, eax
jne 0x14d0a4ee
mov edx, dword [ebp + 0xc]
test byte [ebp - 0x30], 8
je 0x14d09d6b
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx + 0xc]
test byte [eax + ecx], 1
jne 0x14d0adb1
cmp eax, 0x23
jne 0x14d09d68
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
mov dword [ebp - 0x24], eax
je 0x14d09d68
cmp eax, 0xa
jne 0x14d09d4e
jmp 0x14d0adb1
mov edx, dword [ebp + 0xc]
xor esi, esi
inc esi
cmp eax, 0x2e
jg 0x14d0a39c
je 0x14d0a37b
mov ecx, eax
xor edi, edi
sub ecx, edi
je 0x14d0a3c7
sub ecx, 0x24
je 0x14d0a370
sub ecx, 4
je 0x14d09db9
dec ecx
je 0x14d0a3c7
dec ecx
je 0x14d09dad
dec ecx
jne 0x14d0a4ee
mov dword [ebp - 0x18], esi
jmp 0x14d09db0
mov dword [ebp - 0x18], edi
or dword [ebp - 0x14], 0xffffffff
jmp 0x14d0a977
inc dword [ebp - 8]
mov ecx, dword [ebp - 8]
cmp byte [ecx], 0x3f
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x24], edi
jne 0x14d0a25d
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
mov cl, byte [eax]
movzx eax, cl
cmp eax, 0x3c
jg 0x14d09f14
je 0x14d09ebd
cmp eax, 0x21
je 0x14d09eb4
cmp eax, 0x23
je 0x14d09ea4
cmp eax, 0x28
je 0x14d09e29
cmp eax, 0x2f
jle 0x14d09f35
cmp eax, 0x39
jle 0x14d09fec
cmp eax, 0x3a
jne 0x14d09f35
mov dword [ebp - 0x20], 0x4a
jmp 0x14d0a24c
mov eax, dword [ebp - 8]
inc eax
mov cl, byte [eax]
cmp cl, 0x52
mov dword [ebp - 0x20], 0x45
jne 0x14d09e55
push 3
pop eax
mov byte [ebx + 3], 0x46
mov byte [ebx + 4], 0xff
mov byte [ebx + 5], 0xff
add dword [ebp - 8], eax
mov dword [ebp - 0x24], eax
jmp 0x14d0a281
movzx ecx, cl
cmp byte [ecx + 0x14d03328], 0
je 0x14d0a281
mov esi, eax
mov dword [ebp - 8], esi
movzx eax, byte [esi]
sub eax, 0x30
jmp 0x14d09e7c
movzx ecx, cl
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x30]
inc esi
mov dword [ebp - 8], esi
mov cl, byte [esi]
cmp cl, 0x29
jne 0x14d09e72
cmp eax, edi
je 0x14d0adbc
inc esi
mov ecx, eax
mov dword [ebp - 8], esi
sar ecx, 8
mov byte [ebx + 3], 0x46
mov byte [ebx + 4], cl
jmp 0x14d0a0f6
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp byte [eax], 0x29
jne 0x14d09ea4
jmp 0x14d0adb1
mov dword [ebp - 0x20], 0x40
jmp 0x14d09ed8
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
mov al, byte [eax]
cmp al, 0x21
je 0x14d09f05
cmp al, 0x3d
jne 0x14d0a277
mov dword [ebp - 0x20], 0x41
inc dword [ebp - 8]
mov dword [ebp - 0xc], edi
mov eax, dword [ebp - 0x20]
cmp eax, 0x41
mov esi, dword [ebp + 0x28]
mov byte [ebx], al
mov edi, dword [esi + 0x28]
mov dword [ebp - 0x38], ebx
je 0x14d0a289
cmp eax, 0x42
je 0x14d0a289
xor al, al
jmp 0x14d0a28d
mov dword [ebp - 0x20], 0x42
inc dword [ebp - 8]
jmp 0x14d0a277
sub eax, 0x3d
je 0x14d0a251
dec eax
je 0x14d0a245
sub eax, 0x12
je 0x14d0a00e
dec eax
dec eax
je 0x14d09fe9
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x3c], edi
lea eax, [ebp - 0x3c]
jmp 0x14d09f8a
cmp cl, 0x3a
je 0x14d09f8f
inc dword [ebp - 8]
movzx ecx, cl
cmp ecx, 0x2d
je 0x14d09f82
cmp ecx, 0x55
je 0x14d09f7c
cmp ecx, 0x69
je 0x14d09f78
cmp ecx, 0x6d
je 0x14d09f73
cmp ecx, 0x73
je 0x14d09f6e
cmp ecx, 0x78
jne 0x14d09f85
or dword [eax], 8
jmp 0x14d09f85
or dword [eax], 4
jmp 0x14d09f85
or dword [eax], 2
jmp 0x14d09f85
or dword [eax], esi
jmp 0x14d09f85
or byte [eax + 1], 2
jmp 0x14d09f85
lea eax, [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov cl, byte [ecx]
cmp cl, 0x29
jne 0x14d09f40
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xc]
not ecx
and eax, ecx
mov ecx, dword [ebp - 8]
cmp byte [ecx], 0x29
mov dword [ebp - 0x44], eax
jne 0x14d09e1d
mov ecx, eax
xor ecx, dword [ebp - 0x30]
test cl, 7
je 0x14d09fc1
mov byte [ebx], 0xf
mov cl, al
inc ebx
and cl, 7
mov byte [ebx], cl
inc ebx
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
mov ecx, eax
shr ecx, 9
and ecx, esi
mov dword [ebp - 0x30], eax
and eax, esi
mov dword [ebp - 0x50], ecx
xor ecx, esi
shl eax, 8
and dword [ebp - 0xc], 0
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x34], eax
jmp 0x14d0adb1
inc dword [ebp - 8]
xor ecx, ecx
jmp 0x14d09ffa
inc dword [ebp - 8]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*2 - 0x30]
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test byte [eax + 0x14d03328], 4
jne 0x14d09ff0
jmp 0x14d0a185
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
mov al, byte [eax]
cmp al, 0x3c
jne 0x14d0a105
mov eax, dword [ebp + 0x28]
mov edi, dword [eax + 0x14]
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
mov al, byte [eax]
inc dword [ebp - 8]
cmp al, 0x3e
jne 0x14d0a02d
mov esi, dword [ebp - 8]
sub esi, dword [ebp - 0x2c]
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0x18]
and dword [ebp - 0x3c], 0
dec esi
test eax, eax
mov dword [ebp - 0x54], eax
jle 0x14d0a0a2
push esi
lea eax, [edi + 2]
push eax
push dword [ebp - 0x2c]
call fcn.14d07c84
add esp, 0xc
test eax, eax
jne 0x14d0a074
cmp byte [esi + edi + 2], al
je 0x14d0adc4
or eax, 0xffffffff
test eax, eax
mov eax, dword [ebp + 0x28]
jl 0x14d0a089
add edi, dword [eax + 0x1c]
inc dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [eax + 0x18]
jl 0x14d0a051
jmp 0x14d0a0a2
mov ecx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x3c]
imul eax, ecx
push eax
add ecx, edi
push edi
push ecx
call fcn.14d07c66
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
inc ecx
sar ecx, 8
mov byte [edi], cl
mov al, byte [eax]
inc al
push esi
push dword [ebp - 0x2c]
mov byte [edi + 1], al
lea eax, [edi + 2]
push eax
call fcn.14d07c66
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0xc]
add esp, 0xc
mov byte [esi + edi + 2], 0
inc dword [eax + 0x18]
inc dword [edx]
mov eax, dword [edx]
cmp eax, 0x96
jle 0x14d0a26f
mov byte [ebx + 3], 0x49
mov eax, dword [edx]
sar eax, 8
mov byte [ebx + 4], al
mov al, byte [edx]
mov dword [ebp - 0x20], 0xe1
mov byte [ebx + 5], al
mov dword [ebp - 0x24], 3
jmp 0x14d0a281
cmp al, 0x3d
je 0x14d0a111
cmp al, 0x3e
jne 0x14d0a277
mov ecx, dword [ebp + 0x28]
mov edi, dword [ecx + 0x14]
movzx eax, al
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 0x24], eax
jmp 0x14d0a127
inc eax
mov dword [ebp - 8], eax
cmp byte [eax], 0x29
jne 0x14d0a126
and dword [ebp - 0x3c], 0
mov esi, eax
mov eax, dword [ebp + 0x28]
sub esi, dword [ebp - 0x24]
cmp dword [eax + 0x18], 0
jle 0x14d0a166
push esi
lea eax, [edi + 2]
push eax
push dword [ebp - 0x24]
call fcn.14d07c84
add esp, 0xc
test eax, eax
je 0x14d0a166
mov eax, dword [ebp + 0x28]
add edi, dword [eax + 0x1c]
inc dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [eax + 0x18]
jl 0x14d0a141
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0x18]
cmp dword [ebp - 0x3c], eax
jge 0x14d0adcc
cmp dword [ebp - 0x54], 0x3e
movzx ecx, byte [edi + 1]
mov ch, byte [edi]
jne 0x14d0a20f
test ecx, ecx
mov dword [ebp - 0xc], ebx
mov byte [ebx], 0
jne 0x14d0a197
mov esi, dword [ebp + 0x28]
mov eax, dword [esi + 0x10]
jmp 0x14d0a1a7
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0x10]
push ecx
call fcn.14d09b06
mov esi, dword [ebp + 0x28]
pop ecx
test eax, eax
mov dword [ebp - 0x3c], eax
je 0x14d0adcc
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
test ecx, ecx
jne 0x14d0a1f3
mov edi, dword [ebp + 0x24]
test edi, edi
je 0x14d0add4
mov ecx, dword [edi + 4]
cmp ecx, eax
jb 0x14d0add4
push ebx
push ecx
call fcn.14d09b4d
test al, al
pop ecx
pop ecx
je 0x14d0a1f0
mov edi, dword [edi]
test edi, edi
je 0x14d0add4
mov eax, dword [ebp - 0x3c]
jmp 0x14d0a1c9
mov eax, dword [ebp - 0x3c]
mov byte [ebx], 0x3a
mov ecx, eax
sub ecx, dword [esi + 0x10]
sar ecx, 8
mov byte [ebx + 1], cl
sub al, byte [esi + 0x10]
add ebx, 3
mov byte [ebx - 1], al
jmp 0x14d0adb1
mov byte [ebx], 0x39
mov dword [ebp - 0xc], ebx
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
xor eax, eax
inc ebx
inc eax
cmp ecx, 0x20
jge 0x14d0a22c
shl eax, cl
mov edx, dword [ebp + 0x28]
or dword [edx + 0x24], eax
cmp ecx, dword [edx + 0x20]
jle 0x14d0adb1
mov eax, edx
mov dword [eax + 0x20], ecx
jmp 0x14d0adb1
mov dword [ebp - 0x20], 0x44
inc dword [ebp - 8]
jmp 0x14d0a281
mov dword [ebp - 0x20], 0x3f
jmp 0x14d09f0c
test ah, 0x10
je 0x14d0a0d2
mov dword [ebp - 0x20], 0x4a
jmp 0x14d0a281
add eax, 0x4a
mov dword [ebp - 0x20], eax
xor edi, edi
cmp dword [ebp - 0x20], 0x44
jl 0x14d09edb
mov dword [ebp - 0xc], ebx
jmp 0x14d09ede
xor eax, eax
mov al, 1
push esi
push dword [ebp + 0x24]
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x48]
push ecx
push dword [ebp - 0x24]
push eax
push dword [ebp + 0x18]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x30]
push edx
and eax, 7
push eax
push dword [ebp - 0x44]
call fcn.14d0ae09
add esp, 0x30
test al, al
je 0x14d0adfa
mov esi, dword [ebp - 0x20]
cmp esi, 0x45
jne 0x14d0a2f8
xor eax, eax
xor ecx, ecx
mov ch, byte [ebx + 1]
inc eax
mov cl, byte [ebx + 2]
add ebx, ecx
cmp byte [ebx], 0x3c
jne 0x14d0a2cd
cmp eax, 2
jg 0x14d0addc
cmp eax, 1
jne 0x14d0a2f8
or eax, 0xffffffff
mov ecx, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x48], eax
jmp 0x14d0a2fe
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
cmp esi, 0x4a
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x28], edx
mov byte [ebp - 3], 0
jge 0x14d0a324
cmp esi, 0x44
je 0x14d0a324
cmp esi, 0x45
je 0x14d0a324
cmp esi, 0x3f
jne 0x14d0a356
jmp 0x14d0a34f
cmp edx, 0xfffffffe
jne 0x14d0a340
test eax, eax
jl 0x14d0a336
mov dword [ebp - 0x10], eax
mov byte [ebp - 3], 1
jmp 0x14d0a33a
or dword [ebp - 0x10], 0xffffffff
or dword [ebp - 0x28], 0xffffffff
jmp 0x14d0a34f
test eax, eax
jl 0x14d0a34f
test ecx, ecx
jge 0x14d0a353
or eax, edi
mov ecx, eax
mov dword [ebp - 0x40], ecx
test ecx, ecx
jl 0x14d0a356
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 8]
cmp byte [eax], 0x29
mov ebx, dword [ebp - 0x38]
je 0x14d0adb1
mov eax, dword [ebp + 0x18]
mov byte [eax], 0xe
jmp 0x14d0adfa
mov dword [ebp - 0xc], edi
mov byte [ebx], 0x11
jmp 0x14d0a91d
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0a385
or dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xc], ebx
mov byte [ebx], 0xb
jmp 0x14d0a91d
mov ecx, eax
sub ecx, 0x3f
je 0x14d0a970
sub ecx, 0x1c
je 0x14d0a611
dec ecx
je 0x14d0a439
dec ecx
dec ecx
je 0x14d0a41d
sub ecx, 0x1d
je 0x14d0a3e3
dec ecx
jne 0x14d0a4ee
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword [eax], ecx
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov eax, dword [ebp + 0x10]
mov dword [eax], ebx
mov al, 1
jmp 0x14d0adfc
mov esi, dword [ebp - 8]
inc esi
mov eax, esi
call fcn.14d09843
test al, al
je 0x14d0a4eb
mov edi, dword [ebp + 0x18]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
mov eax, esi
call fcn.14d098a4
mov dword [ebp - 8], eax
mov eax, edi
cmp byte [eax], 0
pop ecx
pop ecx
jne 0x14d0adfa
jmp 0x14d0a977
test byte [ebp - 0x30], 2
je 0x14d0a42d
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0a42d
or dword [ebp - 0x10], 0xffffffff
and dword [ebp - 0xc], 0
mov byte [ebx], 0x10
jmp 0x14d0a91d
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp - 8]
push 0
push dword [eax]
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp + 0x18]
call fcn.14d096c8
add esp, 0xc
test eax, eax
jge 0x14d0a4e1
mov ecx, eax
neg ecx
cmp ecx, 0x10
jne 0x14d0a485
mov eax, dword [ebp - 8]
cmp byte [eax + 1], 0x5c
jne 0x14d0a47c
add eax, 2
cmp byte [eax], 0x45
jne 0x14d0a47c
mov dword [ebp - 8], eax
jmp 0x14d0adb1
mov byte [ebp - 1], 1
jmp 0x14d0adb1
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0a499
cmp ecx, 4
jle 0x14d0a499
cmp ecx, 0xd
jge 0x14d0a499
or dword [ebp - 0x10], 0xffffffff
cmp ecx, 0x11
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
jl 0x14d0a4c7
push 0xffffffffffffffef
pop ecx
sub ecx, eax
mov byte [ebx], 0x39
mov dword [ebp - 0xc], ebx
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
inc ebx
jmp 0x14d0adb1
cmp ecx, 4
jle 0x14d0a4d6
cmp ecx, 0xd
jge 0x14d0a4d6
mov dword [ebp - 0xc], ebx
jmp 0x14d0a4da
and dword [ebp - 0xc], 0
neg al
jmp 0x14d0a91b
mov dword [ebp - 8], esi
mov dword [ebp - 0x24], 0x5c
mov eax, dword [ebp - 0x24]
and dword [ebp - 0x2c], 0
mov edi, dword [ebp + 0x28]
lea esi, [ebx + 2]
mov dword [ebp - 0xc], ebx
mov byte [ebx], 0x12
mov ebx, esi
cmp byte [ebp - 1], 0
je 0x14d0a51d
cmp eax, 0x5c
jne 0x14d0a56d
mov ecx, dword [ebp - 8]
inc ecx
cmp byte [ecx], 0x45
jne 0x14d0a56d
mov byte [ebp - 1], 0
mov dword [ebp - 8], ecx
jmp 0x14d0a573
test byte [ebp - 0x30], 8
je 0x14d0a545
mov ecx, dword [edi + 0xc]
test byte [eax + ecx], 1
jne 0x14d0a573
cmp eax, 0x23
jne 0x14d0a545
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x14d0a59d
cmp eax, 0xa
jne 0x14d0a531
jmp 0x14d0a573
cmp eax, 0x5c
jne 0x14d0a56a
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 8]
push 0
push dword [eax]
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp + 0x18]
call fcn.14d096c8
add esp, 0xc
test eax, eax
mov dword [ebp - 0x24], eax
jl 0x14d0a597
mov edi, dword [ebp + 0x28]
mov byte [ebx], al
inc ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfa
jge 0x14d0a59d
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
mov ecx, dword [edi + 0xc]
test byte [eax + ecx], 0x80
mov dword [ebp - 0x24], eax
je 0x14d0a500
jmp 0x14d0a59d
mov dword [ebp - 8], edi
mov edi, dword [ebp + 0x28]
mov eax, dword [ebp - 0x10]
cmp eax, 0xfffffffe
mov ecx, dword [ebp - 0x2c]
jne 0x14d0a604
cmp ecx, 1
movzx eax, byte [esi]
jne 0x14d0a5c2
or dword [ebp - 0x28], 0xffffffff
or eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
jmp 0x14d0a5ea
or eax, dword [ebp - 0x34]
cmp ecx, 2
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], eax
jle 0x14d0a60c
movzx eax, byte [ebx - 2]
or eax, dword [edi + 0x28]
or eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
movzx eax, byte [ebx - 1]
or eax, dword [edi + 0x28]
or eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
cmp ecx, 0xfa
mov eax, dword [ebp - 0xc]
mov byte [eax + 1], cl
jge 0x14d0adb1
dec dword [ebp - 8]
jmp 0x14d0adb1
cmp ecx, 1
mov dword [ebp - 0x28], eax
jne 0x14d0a5d0
mov eax, dword [ebp - 0x1c]
jmp 0x14d0a5da
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movzx edi, byte [eax]
cmp edi, 0x5e
mov dword [ebp - 0xc], ebx
jne 0x14d0a631
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movzx edi, byte [eax]
mov byte [ebp - 2], 1
jmp 0x14d0a635
mov byte [ebp - 2], 0
and dword [ebp - 0x2c], 0
or dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0x74]
push 0x20
push eax
call fcn.14d07cbe
pop ecx
pop ecx
cmp byte [ebp - 1], 0
je 0x14d0a66c
cmp edi, 0x5c
jne 0x14d0a860
mov eax, dword [ebp - 8]
inc eax
cmp byte [eax], 0x45
jne 0x14d0a860
mov byte [ebp - 1], 0
jmp 0x14d0a6b1
cmp edi, 0x5c
jne 0x14d0a705
mov eax, dword [ebp + 0xc]
push 1
push dword [eax]
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp + 0x18]
call fcn.14d096c8
mov edi, eax
neg eax
add esp, 0xc
cmp eax, 4
jne 0x14d0a697
push 8
pop edi
mov ecx, edi
neg ecx
cmp ecx, 0x10
jne 0x14d0a6c2
mov eax, dword [ebp - 8]
cmp byte [eax + 1], 0x5c
jne 0x14d0a6b9
add eax, 2
cmp byte [eax], 0x45
jne 0x14d0a6b9
mov dword [ebp - 8], eax
jmp 0x14d0a8a4
mov byte [ebp - 1], 1
jmp 0x14d0a8a4
test edi, edi
jge 0x14d0a705
sub ecx, 5
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x2c], 0xa
je 0x14d0a846
dec ecx
je 0x14d0a834
dec ecx
je 0x14d0a814
dec ecx
je 0x14d0a7f3
dec ecx
je 0x14d0a7d9
dec ecx
je 0x14d0a7c1
mov eax, dword [ebp - 8]
movzx edi, byte [eax]
mov eax, dword [ebp - 8]
cmp byte [eax + 1], 0x2d
jne 0x14d0a860
add eax, 2
cmp byte [eax], 0x5d
je 0x14d0a860
mov esi, eax
mov dword [ebp - 8], esi
movzx eax, byte [esi]
cmp eax, 0x5c
mov dword [ebp - 0x3c], eax
jne 0x14d0a75a
mov eax, dword [ebp + 0xc]
push 1
push dword [eax]
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp + 0x18]
call fcn.14d096c8
add esp, 0xc
test eax, eax
mov dword [ebp - 0x3c], eax
jge 0x14d0a75a
cmp eax, 0xfffffffc
jne 0x14d0a85a
push 8
pop eax
mov dword [ebp - 0x3c], eax
cmp edi, eax
jg 0x14d0ade4
mov ecx, dword [ebp - 0x30]
and ecx, 1
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x2c]
sub eax, edi
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x2c], eax
mov eax, edi
cdq
push 8
pop ecx
idiv ecx
mov ecx, edi
and ecx, 7
lea esi, [ebp + eax - 0x74]
mov al, 1
shl al, cl
or byte [esi], al
cmp dword [ebp - 0x54], 0
je 0x14d0a7b3
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 4]
movzx ecx, byte [eax + edi]
mov eax, ecx
cdq
push 8
pop esi
idiv esi
and ecx, 7
lea esi, [ebp + eax - 0x74]
mov al, 1
shl al, cl
or byte [esi], al
mov dword [ebp - 0x24], edi
inc edi
cmp edi, dword [ebp - 0x3c]
jle 0x14d0a777
jmp 0x14d0a8a4
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
or byte [ebp + esi - 0x74], cl
inc esi
cmp esi, 0x20
jl 0x14d0a7c3
jmp 0x14d0a8a4
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
not cl
or byte [ebp + esi - 0x74], cl
inc esi
cmp esi, 0x20
jl 0x14d0a7db
jmp 0x14d0a8a4
mov edi, eax
lea eax, [ebp - 0x74]
xor esi, esi
sub edi, eax
lea ecx, [ebp + esi - 0x74]
mov al, byte [ecx + edi]
or byte [ecx], al
inc esi
cmp esi, 0x20
jl 0x14d0a7fc
and byte [ebp - 0x73], 0xf7
jmp 0x14d0a8a4
mov edi, eax
lea eax, [ebp - 0x74]
xor esi, esi
sub edi, eax
lea ecx, [ebp + esi - 0x74]
mov al, byte [ecx + edi]
not al
or byte [ecx], al
inc esi
cmp esi, 0x20
jl 0x14d0a81d
or byte [ebp - 0x73], 8
jmp 0x14d0a8a4
xor esi, esi
mov cl, byte [eax + esi + 0x40]
or byte [ebp + esi - 0x74], cl
inc esi
cmp esi, 0x20
jl 0x14d0a836
jmp 0x14d0a8a4
xor esi, esi
mov cl, byte [eax + esi + 0x40]
not cl
or byte [ebp + esi - 0x74], cl
inc esi
cmp esi, 0x20
jl 0x14d0a848
jmp 0x14d0a8a4
add esi, 0xfffffffe
mov dword [ebp - 8], esi
mov eax, edi
cdq
push 8
pop ecx
idiv ecx
mov ecx, edi
and ecx, 7
lea esi, [ebp + eax - 0x74]
mov al, 1
shl al, cl
or byte [esi], al
test byte [ebp - 0x30], 1
je 0x14d0a89e
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 4]
movzx edi, byte [eax + edi]
mov eax, edi
cdq
push 8
pop ecx
idiv ecx
mov ecx, edi
and ecx, 7
lea esi, [ebp + eax - 0x74]
mov al, 1
shl al, cl
or byte [esi], al
inc dword [ebp - 0x2c]
mov dword [ebp - 0x24], edi
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movzx edi, byte [eax]
cmp edi, 0x5d
jne 0x14d0a64a
cmp byte [ebp - 1], 0
jne 0x14d0a650
cmp dword [ebp - 0x2c], 1
jne 0x14d0a923
cmp byte [ebp - 2], 0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
je 0x14d0a8e7
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0a8dc
or dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
mov byte [ebx], 0x13
jmp 0x14d0a917
mov eax, dword [ebp - 0x10]
cmp eax, 0xfffffffe
jne 0x14d0a8fe
mov eax, dword [ebp - 0x24]
or dword [ebp - 0x28], 0xffffffff
or eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], eax
jmp 0x14d0a910
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0x28]
or eax, dword [ebp - 0x24]
or eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
mov byte [ebx], 0x12
inc ebx
mov byte [ebx], 1
mov al, byte [ebp - 0x24]
inc ebx
mov byte [ebx], al
inc ebx
jmp 0x14d0adb1
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0a92d
or dword [ebp - 0x10], 0xffffffff
cmp byte [ebp - 2], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
push 0x20
lea eax, [ebp - 0x74]
je 0x14d0a95a
mov byte [ebx], 0x38
inc ebx
mov esi, ebx
sub eax, ebx
pop edi
mov cl, byte [eax + esi]
not cl
mov byte [esi], cl
inc esi
dec edi
jne 0x14d0a94d
jmp 0x14d0a968
mov byte [ebx], 0x37
push eax
inc ebx
push ebx
call fcn.14d07c66
add esp, 0xc
add ebx, 0x20
jmp 0x14d0adb1
and dword [ebp - 0x18], 0
mov dword [ebp - 0x14], esi
mov edi, dword [ebp - 0xc]
test edi, edi
je 0x14d0adec
cmp dword [ebp - 0x18], 0
jne 0x14d0a994
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov esi, dword [ebp - 0x18]
sub esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
neg esi
sbb esi, esi
xor edx, edx
and esi, 0x200
inc ecx
mov dword [ebp - 0x38], edi
mov al, byte [ecx]
cmp al, 0x2b
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x44], edx
mov byte [ebp - 2], dl
jne 0x14d0a9c4
xor eax, eax
mov byte [ebp - 2], 1
jmp 0x14d0a9cb
cmp al, 0x3f
jne 0x14d0a9d0
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 8], ecx
jmp 0x14d0a9d3
mov eax, dword [ebp - 0x50]
cmp byte [edi], 0x3a
mov dword [ebp - 0x24], eax
jne 0x14d0aa19
mov eax, dword [ebp - 0xc]
push 3
push eax
add eax, 3
push eax
call fcn.14d07c66
mov eax, dword [ebp - 0xc]
add ebx, 3
mov ecx, ebx
sub ecx, eax
mov dl, bl
sub dl, al
sar ecx, 8
mov byte [eax + 2], dl
mov byte [eax], 0x4a
mov byte [eax + 1], cl
mov eax, dword [ebp - 0x24]
mov byte [ebx + 2], dl
mov edx, dword [ebp - 0x44]
add esp, 0xc
mov byte [ebx], 0x3c
mov byte [ebx + 1], cl
add ebx, 3
mov edi, dword [ebp - 0xc]
mov cl, byte [edi]
cmp cl, 0x12
jne 0x14d0aa54
dec ebx
movzx ecx, byte [ebx]
mov dword [ebp - 0x24], ecx
mov ecx, edi
lea edi, [ecx + 2]
cmp ebx, edi
jne 0x14d0aa4c
cmp dword [ebp - 0x18], 1
mov ebx, ecx
jle 0x14d0aa75
mov ecx, dword [ebp + 0x28]
mov edi, dword [ecx + 0x28]
or edi, dword [ebp - 0x24]
or edi, dword [ebp - 0x34]
mov dword [ebp - 0x1c], edi
jmp 0x14d0aa75
dec byte [ecx + 1]
mov dword [ebp - 0x38], ebx
jmp 0x14d0aa75
cmp cl, 0x13
jne 0x14d0aa61
movzx ecx, byte [edi + 1]
push 9
jmp 0x14d0aa6f
cmp cl, 0xd
jae 0x14d0ab20
push 0x12
movzx ecx, cl
pop edx
mov dword [ebp - 0x24], ecx
mov ebx, edi
cmp dword [ebp - 0x14], 0
je 0x14d0ada7
add eax, edx
cmp dword [ebp - 0x18], 0
jne 0x14d0aa9b
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xffffffff
je 0x14d0aae9
cmp ecx, 1
jne 0x14d0ab04
add al, 0x18
mov byte [ebx], al
inc ebx
jmp 0x14d0ab15
cmp dword [ebp - 0x18], 1
jne 0x14d0aaab
cmp dword [ebp - 0x14], 0xffffffff
jne 0x14d0aac0
add al, 0x16
jmp 0x14d0aa96
mov ecx, dword [ebp - 0x18]
add dl, 0x1c
mov byte [ebx], dl
inc ebx
mov edx, ecx
sar edx, 8
mov byte [ebx], dl
mov byte [ebx + 1], cl
jmp 0x14d0aace
mov esi, dword [ebp - 0xc]
mov cl, byte [esi]
cmp cl, 0x12
jne 0x14d0aad7
cmp ebx, esi
jne 0x14d0aad2
inc ebx
inc ebx
jmp 0x14d0aadd
inc byte [esi + 1]
jmp 0x14d0aadd
cmp cl, 0x13
jne 0x14d0aadd
inc ebx
cmp dword [ebp - 0x14], 0
jge 0x14d0aaed
mov cl, byte [ebp - 0x24]
mov byte [ebx], cl
inc ebx
add al, 0x14
jmp 0x14d0aa96
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x14], ecx
je 0x14d0ab15
mov cl, byte [ebp - 0x24]
mov byte [ebx], cl
mov ecx, dword [ebp - 0x14]
inc ebx
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
add al, 0x1a
mov byte [ebx], al
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx + 1], cl
mov byte [ebx], al
inc ebx
inc ebx
mov al, byte [ebp - 0x24]
mov byte [ebx], al
inc ebx
jmp 0x14d0ad5b
cmp cl, 0x37
je 0x14d0acf3
cmp cl, 0x38
je 0x14d0acf3
cmp cl, 0x39
je 0x14d0acf3
cmp cl, 0x4a
jae 0x14d0ab4e
cmp cl, 0x44
je 0x14d0ab4e
cmp cl, 0x45
jne 0x14d0adf4
xor edx, edx
mov edi, ebx
sub edi, dword [ebp - 0xc]
cmp dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x3c], edx
jne 0x14d0ab7a
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x3c
jne 0x14d0ab64
mov ecx, ebx
sub ecx, eax
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x18], edx
jne 0x14d0ac0a
cmp dword [ebp - 0x14], edx
jne 0x14d0ab90
mov ebx, dword [ebp - 0xc]
jmp 0x14d0ada7
cmp dword [ebp - 0x14], 1
push dword [ebp + 0x28]
mov byte [ebx], 0
push dword [ebp - 0xc]
jg 0x14d0abc8
xor edx, edx
inc edx
call fcn.14d09c55
mov eax, dword [ebp - 0xc]
push edi
lea esi, [eax + 1]
push eax
push esi
call fcn.14d07c66
mov al, byte [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
add esp, 0x14
inc ebx
add al, 0x47
mov byte [ecx], al
mov dword [ebp - 0xc], esi
jmp 0x14d0ac02
push 4
pop edx
call fcn.14d09c55
mov eax, dword [ebp - 0xc]
push edi
push eax
add eax, edx
push eax
call fcn.14d07c66
mov cl, byte [ebp - 0x24]
mov eax, dword [ebp - 0xc]
add cl, 0x47
mov byte [eax], cl
add esp, 0x14
add ebx, 4
inc eax
mov byte [eax], 0x4a
inc eax
mov dword [ebp - 0x3c], eax
mov byte [eax], 0
mov byte [eax + 1], 0
inc eax
inc eax
mov dword [ebp - 0xc], eax
dec dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
jmp 0x14d0ac4b
cmp dword [ebp - 0x18], 1
jle 0x14d0ac3e
cmp byte [ebp - 3], 0
je 0x14d0ac22
cmp dword [ebp - 0x1c], 0
jge 0x14d0ac22
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x18], 1
jle 0x14d0ac3e
mov esi, dword [ebp - 0x18]
dec esi
push edi
push dword [ebp - 0xc]
push ebx
call fcn.14d07c66
add esp, 0xc
add ebx, edi
dec esi
jne 0x14d0ac2c
mov eax, dword [ebp - 0x14]
test eax, eax
jle 0x14d0ac4d
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
test eax, eax
jl 0x14d0ace5
lea esi, [eax - 1]
test esi, esi
jl 0x14d0aca0
mov al, byte [ebp - 0x24]
add al, 0x47
mov byte [ebp - 4], al
jmp 0x14d0ac67
mov al, byte [ebp - 4]
mov byte [ebx], al
inc ebx
test esi, esi
je 0x14d0ac8e
mov eax, dword [ebp - 0x3c]
mov byte [ebx], 0x4a
inc ebx
mov ecx, ebx
sub ecx, eax
neg eax
sbb eax, eax
and eax, ecx
mov ecx, eax
sar ecx, 8
mov dword [ebp - 0x3c], ebx
mov byte [ebx], cl
mov byte [ebx + 1], al
inc ebx
inc ebx
push edi
push dword [ebp - 0xc]
push ebx
call fcn.14d07c66
add esp, 0xc
add ebx, edi
dec esi
jns 0x14d0ac64
cmp dword [ebp - 0x3c], 0
je 0x14d0ad5b
mov esi, dword [ebp - 0x3c]
xor edx, edx
mov ecx, ebx
sub ecx, esi
inc ecx
mov eax, ebx
sub eax, ecx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
mov byte [ebx], 0x3c
mov byte [ebx + 2], cl
sub esi, edx
mov dword [ebp - 0x44], edx
neg edx
sbb edx, edx
and esi, edx
inc ebx
mov edx, ecx
sar edx, 8
mov byte [ebx], dl
inc ebx
inc ebx
test esi, esi
mov byte [eax + 1], dl
mov byte [eax + 2], cl
jne 0x14d0acad
jmp 0x14d0ad5b
mov al, byte [ebp - 0x24]
add al, 0x3d
mov ecx, ebx
sub ecx, dword [ebp - 0x44]
mov byte [ecx], al
jmp 0x14d0ad5b
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x14d0ad01
mov ebx, edi
jmp 0x14d0ada7
cmp dword [ebp - 0x18], 0
jne 0x14d0ad13
cmp ecx, 0xffffffff
jne 0x14d0ad25
add al, 0x2f
jmp 0x14d0ab18
cmp dword [ebp - 0x18], 1
jne 0x14d0ad31
cmp ecx, 0xffffffff
jne 0x14d0ad31
add al, 0x31
jmp 0x14d0ab18
cmp ecx, 1
jne 0x14d0ad31
add al, 0x33
jmp 0x14d0ab18
add al, 0x35
mov byte [ebx], al
mov eax, dword [ebp - 0x18]
inc ebx
mov edx, eax
sar edx, 8
mov byte [ebx], dl
mov byte [ebx + 1], al
inc ebx
inc ebx
cmp ecx, 0xffffffff
jne 0x14d0ad4f
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
inc ebx
cmp byte [ebp - 2], 0
je 0x14d0ada4
mov ecx, dword [ebp - 0x38]
mov eax, ebx
sub eax, ecx
push eax
push ecx
add ecx, 3
push ecx
mov dword [ebp - 0x44], eax
call fcn.14d07c66
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov byte [ecx], 0x44
add eax, 3
add ebx, 3
mov byte [ebx], 0x3c
add esp, 0xc
inc ebx
mov byte [ebx + 1], al
mov ecx, eax
sar ecx, 8
mov byte [ebx], cl
mov edx, dword [ebp - 0x38]
mov byte [edx + 1], cl
mov ecx, dword [ebp - 0x38]
inc ebx
inc ebx
mov byte [ecx + 2], al
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp + 0x28]
and dword [ebp - 0xc], 0
or dword [eax + 0x28], esi
inc dword [ebp - 8]
mov edx, dword [ebp + 0xc]
jmp 0x14d09d19
mov eax, dword [ebp + 0x18]
mov byte [eax], 0x23
jmp 0x14d0adfa
mov eax, dword [ebp + 0x18]
mov byte [eax], 0x2b
jmp 0x14d0adfa
mov eax, dword [ebp + 0x18]
mov byte [eax], 0xf
jmp 0x14d0adfa
mov eax, dword [ebp + 0x18]
mov byte [eax], 0x28
jmp 0x14d0adfa
mov eax, dword [ebp + 0x18]
mov byte [eax], 0x1b
jmp 0x14d0adfa
mov eax, dword [ebp + 0x18]
mov byte [eax], 8
jmp 0x14d0adfa
mov eax, dword [ebp + 0x18]
mov byte [eax], 9
jmp 0x14d0adfa
mov eax, dword [ebp + 0x18]
mov byte [eax], 0xb
xor al, al
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 8]
pop edi
pop esi
mov dword [ecx], edx
pop ebx
leave
ret