Function at 0x14d09cb1
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 0x14d09d2b
test eax, eax
jne 0x14d0a4e6
mov edx, dword [ebp + 0xc]
test byte [ebp - 0x30], 8
je 0x14d09d63
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx + 0xc]
test byte [eax + ecx], 1
jne 0x14d0ada9
cmp eax, 0x23
jne 0x14d09d60
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
mov dword [ebp - 0x24], eax
je 0x14d09d60
cmp eax, 0xa
jne 0x14d09d46
jmp 0x14d0ada9
mov edx, dword [ebp + 0xc]
xor esi, esi
inc esi
cmp eax, 0x2e
jg 0x14d0a394
je 0x14d0a373
mov ecx, eax
xor edi, edi
sub ecx, edi
je 0x14d0a3bf
sub ecx, 0x24
je 0x14d0a368
sub ecx, 4
je 0x14d09db1
dec ecx
je 0x14d0a3bf
dec ecx
je 0x14d09da5
dec ecx
jne 0x14d0a4e6
mov dword [ebp - 0x18], esi
jmp 0x14d09da8
mov dword [ebp - 0x18], edi
or dword [ebp - 0x14], 0xffffffff
jmp 0x14d0a96f
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 0x14d0a255
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
mov cl, byte [eax]
movzx eax, cl
cmp eax, 0x3c
jg 0x14d09f0c
je 0x14d09eb5
cmp eax, 0x21
je 0x14d09eac
cmp eax, 0x23
je 0x14d09e9c
cmp eax, 0x28
je 0x14d09e21
cmp eax, 0x2f
jle 0x14d09f2d
cmp eax, 0x39
jle 0x14d09fe4
cmp eax, 0x3a
jne 0x14d09f2d
mov dword [ebp - 0x20], 0x4a
jmp 0x14d0a244
mov eax, dword [ebp - 8]
inc eax
mov cl, byte [eax]
cmp cl, 0x52
mov dword [ebp - 0x20], 0x45
jne 0x14d09e4d
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 0x14d0a279
movzx ecx, cl
cmp byte [ecx + 0x14d03320], 0
je 0x14d0a279
mov esi, eax
mov dword [ebp - 8], esi
movzx eax, byte [esi]
sub eax, 0x30
jmp 0x14d09e74
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 0x14d09e6a
cmp eax, edi
je 0x14d0adb4
inc esi
mov ecx, eax
mov dword [ebp - 8], esi
sar ecx, 8
mov byte [ebx + 3], 0x46
mov byte [ebx + 4], cl
jmp 0x14d0a0ee
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp byte [eax], 0x29
jne 0x14d09e9c
jmp 0x14d0ada9
mov dword [ebp - 0x20], 0x40
jmp 0x14d09ed0
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
mov al, byte [eax]
cmp al, 0x21
je 0x14d09efd
cmp al, 0x3d
jne 0x14d0a26f
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 0x14d0a281
cmp eax, 0x42
je 0x14d0a281
xor al, al
jmp 0x14d0a285
mov dword [ebp - 0x20], 0x42
inc dword [ebp - 8]
jmp 0x14d0a26f
sub eax, 0x3d
je 0x14d0a249
dec eax
je 0x14d0a23d
sub eax, 0x12
je 0x14d0a006
dec eax
dec eax
je 0x14d09fe1
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x3c], edi
lea eax, [ebp - 0x3c]
jmp 0x14d09f82
cmp cl, 0x3a
je 0x14d09f87
inc dword [ebp - 8]
movzx ecx, cl
cmp ecx, 0x2d
je 0x14d09f7a
cmp ecx, 0x55
je 0x14d09f74
cmp ecx, 0x69
je 0x14d09f70
cmp ecx, 0x6d
je 0x14d09f6b
cmp ecx, 0x73
je 0x14d09f66
cmp ecx, 0x78
jne 0x14d09f7d
or dword [eax], 8
jmp 0x14d09f7d
or dword [eax], 4
jmp 0x14d09f7d
or dword [eax], 2
jmp 0x14d09f7d
or dword [eax], esi
jmp 0x14d09f7d
or byte [eax + 1], 2
jmp 0x14d09f7d
lea eax, [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov cl, byte [ecx]
cmp cl, 0x29
jne 0x14d09f38
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 0x14d09e15
mov ecx, eax
xor ecx, dword [ebp - 0x30]
test cl, 7
je 0x14d09fb9
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 0x14d0ada9
inc dword [ebp - 8]
xor ecx, ecx
jmp 0x14d09ff2
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 + 0x14d03320], 4
jne 0x14d09fe8
jmp 0x14d0a17d
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
mov al, byte [eax]
cmp al, 0x3c
jne 0x14d0a0fd
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 0x14d0a025
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 0x14d0a09a
push esi
lea eax, [edi + 2]
push eax
push dword [ebp - 0x2c]
call fcn.14d07c7c
add esp, 0xc
test eax, eax
jne 0x14d0a06c
cmp byte [esi + edi + 2], al
je 0x14d0adbc
or eax, 0xffffffff
test eax, eax
mov eax, dword [ebp + 0x28]
jl 0x14d0a081
add edi, dword [eax + 0x1c]
inc dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [eax + 0x18]
jl 0x14d0a049
jmp 0x14d0a09a
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.14d07c5e
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.14d07c5e
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 0x14d0a267
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 0x14d0a279
cmp al, 0x3d
je 0x14d0a109
cmp al, 0x3e
jne 0x14d0a26f
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 0x14d0a11f
inc eax
mov dword [ebp - 8], eax
cmp byte [eax], 0x29
jne 0x14d0a11e
and dword [ebp - 0x3c], 0
mov esi, eax
mov eax, dword [ebp + 0x28]
sub esi, dword [ebp - 0x24]
cmp dword [eax + 0x18], 0
jle 0x14d0a15e
push esi
lea eax, [edi + 2]
push eax
push dword [ebp - 0x24]
call fcn.14d07c7c
add esp, 0xc
test eax, eax
je 0x14d0a15e
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 0x14d0a139
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0x18]
cmp dword [ebp - 0x3c], eax
jge 0x14d0adc4
cmp dword [ebp - 0x54], 0x3e
movzx ecx, byte [edi + 1]
mov ch, byte [edi]
jne 0x14d0a207
test ecx, ecx
mov dword [ebp - 0xc], ebx
mov byte [ebx], 0
jne 0x14d0a18f
mov esi, dword [ebp + 0x28]
mov eax, dword [esi + 0x10]
jmp 0x14d0a19f
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0x10]
push ecx
call fcn.14d09afe
mov esi, dword [ebp + 0x28]
pop ecx
test eax, eax
mov dword [ebp - 0x3c], eax
je 0x14d0adc4
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
test ecx, ecx
jne 0x14d0a1eb
mov edi, dword [ebp + 0x24]
test edi, edi
je 0x14d0adcc
mov ecx, dword [edi + 4]
cmp ecx, eax
jb 0x14d0adcc
push ebx
push ecx
call fcn.14d09b45
test al, al
pop ecx
pop ecx
je 0x14d0a1e8
mov edi, dword [edi]
test edi, edi
je 0x14d0adcc
mov eax, dword [ebp - 0x3c]
jmp 0x14d0a1c1
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 0x14d0ada9
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 0x14d0a224
shl eax, cl
mov edx, dword [ebp + 0x28]
or dword [edx + 0x24], eax
cmp ecx, dword [edx + 0x20]
jle 0x14d0ada9
mov eax, edx
mov dword [eax + 0x20], ecx
jmp 0x14d0ada9
mov dword [ebp - 0x20], 0x44
inc dword [ebp - 8]
jmp 0x14d0a279
mov dword [ebp - 0x20], 0x3f
jmp 0x14d09f04
test ah, 0x10
je 0x14d0a0ca
mov dword [ebp - 0x20], 0x4a
jmp 0x14d0a279
add eax, 0x4a
mov dword [ebp - 0x20], eax
xor edi, edi
cmp dword [ebp - 0x20], 0x44
jl 0x14d09ed3
mov dword [ebp - 0xc], ebx
jmp 0x14d09ed6
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.14d0ae01
add esp, 0x30
test al, al
je 0x14d0adf2
mov esi, dword [ebp - 0x20]
cmp esi, 0x45
jne 0x14d0a2f0
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 0x14d0a2c5
cmp eax, 2
jg 0x14d0add4
cmp eax, 1
jne 0x14d0a2f0
or eax, 0xffffffff
mov ecx, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x48], eax
jmp 0x14d0a2f6
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 0x14d0a31c
cmp esi, 0x44
je 0x14d0a31c
cmp esi, 0x45
je 0x14d0a31c
cmp esi, 0x3f
jne 0x14d0a34e
jmp 0x14d0a347
cmp edx, 0xfffffffe
jne 0x14d0a338
test eax, eax
jl 0x14d0a32e
mov dword [ebp - 0x10], eax
mov byte [ebp - 3], 1
jmp 0x14d0a332
or dword [ebp - 0x10], 0xffffffff
or dword [ebp - 0x28], 0xffffffff
jmp 0x14d0a347
test eax, eax
jl 0x14d0a347
test ecx, ecx
jge 0x14d0a34b
or eax, edi
mov ecx, eax
mov dword [ebp - 0x40], ecx
test ecx, ecx
jl 0x14d0a34e
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 8]
cmp byte [eax], 0x29
mov ebx, dword [ebp - 0x38]
je 0x14d0ada9
mov eax, dword [ebp + 0x18]
mov byte [eax], 0xe
jmp 0x14d0adf2
mov dword [ebp - 0xc], edi
mov byte [ebx], 0x11
jmp 0x14d0a915
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0a37d
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 0x14d0a915
mov ecx, eax
sub ecx, 0x3f
je 0x14d0a968
sub ecx, 0x1c
je 0x14d0a609
dec ecx
je 0x14d0a431
dec ecx
dec ecx
je 0x14d0a415
sub ecx, 0x1d
je 0x14d0a3db
dec ecx
jne 0x14d0a4e6
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 0x14d0adf4
mov esi, dword [ebp - 8]
inc esi
mov eax, esi
call fcn.14d0983b
test al, al
je 0x14d0a4e3
mov edi, dword [ebp + 0x18]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
mov eax, esi
call fcn.14d0989c
mov dword [ebp - 8], eax
mov eax, edi
cmp byte [eax], 0
pop ecx
pop ecx
jne 0x14d0adf2
jmp 0x14d0a96f
test byte [ebp - 0x30], 2
je 0x14d0a425
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0a425
or dword [ebp - 0x10], 0xffffffff
and dword [ebp - 0xc], 0
mov byte [ebx], 0x10
jmp 0x14d0a915
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.14d096c0
add esp, 0xc
test eax, eax
jge 0x14d0a4d9
mov ecx, eax
neg ecx
cmp ecx, 0x10
jne 0x14d0a47d
mov eax, dword [ebp - 8]
cmp byte [eax + 1], 0x5c
jne 0x14d0a474
add eax, 2
cmp byte [eax], 0x45
jne 0x14d0a474
mov dword [ebp - 8], eax
jmp 0x14d0ada9
mov byte [ebp - 1], 1
jmp 0x14d0ada9
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0a491
cmp ecx, 4
jle 0x14d0a491
cmp ecx, 0xd
jge 0x14d0a491
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 0x14d0a4bf
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 0x14d0ada9
cmp ecx, 4
jle 0x14d0a4ce
cmp ecx, 0xd
jge 0x14d0a4ce
mov dword [ebp - 0xc], ebx
jmp 0x14d0a4d2
and dword [ebp - 0xc], 0
neg al
jmp 0x14d0a913
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 0x14d0a515
cmp eax, 0x5c
jne 0x14d0a565
mov ecx, dword [ebp - 8]
inc ecx
cmp byte [ecx], 0x45
jne 0x14d0a565
mov byte [ebp - 1], 0
mov dword [ebp - 8], ecx
jmp 0x14d0a56b
test byte [ebp - 0x30], 8
je 0x14d0a53d
mov ecx, dword [edi + 0xc]
test byte [eax + ecx], 1
jne 0x14d0a56b
cmp eax, 0x23
jne 0x14d0a53d
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x14d0a595
cmp eax, 0xa
jne 0x14d0a529
jmp 0x14d0a56b
cmp eax, 0x5c
jne 0x14d0a562
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.14d096c0
add esp, 0xc
test eax, eax
mov dword [ebp - 0x24], eax
jl 0x14d0a58f
mov edi, dword [ebp + 0x28]
mov byte [ebx], al
inc ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfa
jge 0x14d0a595
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 0x14d0a4f8
jmp 0x14d0a595
mov dword [ebp - 8], edi
mov edi, dword [ebp + 0x28]
mov eax, dword [ebp - 0x10]
cmp eax, 0xfffffffe
mov ecx, dword [ebp - 0x2c]
jne 0x14d0a5fc
cmp ecx, 1
movzx eax, byte [esi]
jne 0x14d0a5ba
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 0x14d0a5e2
or eax, dword [ebp - 0x34]
cmp ecx, 2
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], eax
jle 0x14d0a604
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 0x14d0ada9
dec dword [ebp - 8]
jmp 0x14d0ada9
cmp ecx, 1
mov dword [ebp - 0x28], eax
jne 0x14d0a5c8
mov eax, dword [ebp - 0x1c]
jmp 0x14d0a5d2
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movzx edi, byte [eax]
cmp edi, 0x5e
mov dword [ebp - 0xc], ebx
jne 0x14d0a629
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movzx edi, byte [eax]
mov byte [ebp - 2], 1
jmp 0x14d0a62d
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.14d07cb6
pop ecx
pop ecx
cmp byte [ebp - 1], 0
je 0x14d0a664
cmp edi, 0x5c
jne 0x14d0a858
mov eax, dword [ebp - 8]
inc eax
cmp byte [eax], 0x45
jne 0x14d0a858
mov byte [ebp - 1], 0
jmp 0x14d0a6a9
cmp edi, 0x5c
jne 0x14d0a6fd
mov eax, dword [ebp + 0xc]
push 1
push dword [eax]
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp + 0x18]
call fcn.14d096c0
mov edi, eax
neg eax
add esp, 0xc
cmp eax, 4
jne 0x14d0a68f
push 8
pop edi
mov ecx, edi
neg ecx
cmp ecx, 0x10
jne 0x14d0a6ba
mov eax, dword [ebp - 8]
cmp byte [eax + 1], 0x5c
jne 0x14d0a6b1
add eax, 2
cmp byte [eax], 0x45
jne 0x14d0a6b1
mov dword [ebp - 8], eax
jmp 0x14d0a89c
mov byte [ebp - 1], 1
jmp 0x14d0a89c
test edi, edi
jge 0x14d0a6fd
sub ecx, 5
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x2c], 0xa
je 0x14d0a83e
dec ecx
je 0x14d0a82c
dec ecx
je 0x14d0a80c
dec ecx
je 0x14d0a7eb
dec ecx
je 0x14d0a7d1
dec ecx
je 0x14d0a7b9
mov eax, dword [ebp - 8]
movzx edi, byte [eax]
mov eax, dword [ebp - 8]
cmp byte [eax + 1], 0x2d
jne 0x14d0a858
add eax, 2
cmp byte [eax], 0x5d
je 0x14d0a858
mov esi, eax
mov dword [ebp - 8], esi
movzx eax, byte [esi]
cmp eax, 0x5c
mov dword [ebp - 0x3c], eax
jne 0x14d0a752
mov eax, dword [ebp + 0xc]
push 1
push dword [eax]
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp + 0x18]
call fcn.14d096c0
add esp, 0xc
test eax, eax
mov dword [ebp - 0x3c], eax
jge 0x14d0a752
cmp eax, 0xfffffffc
jne 0x14d0a852
push 8
pop eax
mov dword [ebp - 0x3c], eax
cmp edi, eax
jg 0x14d0addc
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 0x14d0a7ab
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 0x14d0a76f
jmp 0x14d0a89c
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
or byte [ebp + esi - 0x74], cl
inc esi
cmp esi, 0x20
jl 0x14d0a7bb
jmp 0x14d0a89c
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
not cl
or byte [ebp + esi - 0x74], cl
inc esi
cmp esi, 0x20
jl 0x14d0a7d3
jmp 0x14d0a89c
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 0x14d0a7f4
and byte [ebp - 0x73], 0xf7
jmp 0x14d0a89c
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 0x14d0a815
or byte [ebp - 0x73], 8
jmp 0x14d0a89c
xor esi, esi
mov cl, byte [eax + esi + 0x40]
or byte [ebp + esi - 0x74], cl
inc esi
cmp esi, 0x20
jl 0x14d0a82e
jmp 0x14d0a89c
xor esi, esi
mov cl, byte [eax + esi + 0x40]
not cl
or byte [ebp + esi - 0x74], cl
inc esi
cmp esi, 0x20
jl 0x14d0a840
jmp 0x14d0a89c
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 0x14d0a896
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 0x14d0a642
cmp byte [ebp - 1], 0
jne 0x14d0a648
cmp dword [ebp - 0x2c], 1
jne 0x14d0a91b
cmp byte [ebp - 2], 0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
je 0x14d0a8df
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0a8d4
or dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
mov byte [ebx], 0x13
jmp 0x14d0a90f
mov eax, dword [ebp - 0x10]
cmp eax, 0xfffffffe
jne 0x14d0a8f6
mov eax, dword [ebp - 0x24]
or dword [ebp - 0x28], 0xffffffff
or eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], eax
jmp 0x14d0a908
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 0x14d0ada9
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0a925
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 0x14d0a952
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 0x14d0a945
jmp 0x14d0a960
mov byte [ebx], 0x37
push eax
inc ebx
push ebx
call fcn.14d07c5e
add esp, 0xc
add ebx, 0x20
jmp 0x14d0ada9
and dword [ebp - 0x18], 0
mov dword [ebp - 0x14], esi
mov edi, dword [ebp - 0xc]
test edi, edi
je 0x14d0ade4
cmp dword [ebp - 0x18], 0
jne 0x14d0a98c
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 0x14d0a9bc
xor eax, eax
mov byte [ebp - 2], 1
jmp 0x14d0a9c3
cmp al, 0x3f
jne 0x14d0a9c8
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 8], ecx
jmp 0x14d0a9cb
mov eax, dword [ebp - 0x50]
cmp byte [edi], 0x3a
mov dword [ebp - 0x24], eax
jne 0x14d0aa11
mov eax, dword [ebp - 0xc]
push 3
push eax
add eax, 3
push eax
call fcn.14d07c5e
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 0x14d0aa4c
dec ebx
movzx ecx, byte [ebx]
mov dword [ebp - 0x24], ecx
mov ecx, edi
lea edi, [ecx + 2]
cmp ebx, edi
jne 0x14d0aa44
cmp dword [ebp - 0x18], 1
mov ebx, ecx
jle 0x14d0aa6d
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 0x14d0aa6d
dec byte [ecx + 1]
mov dword [ebp - 0x38], ebx
jmp 0x14d0aa6d
cmp cl, 0x13
jne 0x14d0aa59
movzx ecx, byte [edi + 1]
push 9
jmp 0x14d0aa67
cmp cl, 0xd
jae 0x14d0ab18
push 0x12
movzx ecx, cl
pop edx
mov dword [ebp - 0x24], ecx
mov ebx, edi
cmp dword [ebp - 0x14], 0
je 0x14d0ad9f
add eax, edx
cmp dword [ebp - 0x18], 0
jne 0x14d0aa93
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xffffffff
je 0x14d0aae1
cmp ecx, 1
jne 0x14d0aafc
add al, 0x18
mov byte [ebx], al
inc ebx
jmp 0x14d0ab0d
cmp dword [ebp - 0x18], 1
jne 0x14d0aaa3
cmp dword [ebp - 0x14], 0xffffffff
jne 0x14d0aab8
add al, 0x16
jmp 0x14d0aa8e
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 0x14d0aac6
mov esi, dword [ebp - 0xc]
mov cl, byte [esi]
cmp cl, 0x12
jne 0x14d0aacf
cmp ebx, esi
jne 0x14d0aaca
inc ebx
inc ebx
jmp 0x14d0aad5
inc byte [esi + 1]
jmp 0x14d0aad5
cmp cl, 0x13
jne 0x14d0aad5
inc ebx
cmp dword [ebp - 0x14], 0
jge 0x14d0aae5
mov cl, byte [ebp - 0x24]
mov byte [ebx], cl
inc ebx
add al, 0x14
jmp 0x14d0aa8e
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x14], ecx
je 0x14d0ab0d
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 0x14d0ad53
cmp cl, 0x37
je 0x14d0aceb
cmp cl, 0x38
je 0x14d0aceb
cmp cl, 0x39
je 0x14d0aceb
cmp cl, 0x4a
jae 0x14d0ab46
cmp cl, 0x44
je 0x14d0ab46
cmp cl, 0x45
jne 0x14d0adec
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 0x14d0ab72
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 0x14d0ab5c
mov ecx, ebx
sub ecx, eax
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x18], edx
jne 0x14d0ac02
cmp dword [ebp - 0x14], edx
jne 0x14d0ab88
mov ebx, dword [ebp - 0xc]
jmp 0x14d0ad9f
cmp dword [ebp - 0x14], 1
push dword [ebp + 0x28]
mov byte [ebx], 0
push dword [ebp - 0xc]
jg 0x14d0abc0
xor edx, edx
inc edx
call fcn.14d09c4d
mov eax, dword [ebp - 0xc]
push edi
lea esi, [eax + 1]
push eax
push esi
call fcn.14d07c5e
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 0x14d0abfa
push 4
pop edx
call fcn.14d09c4d
mov eax, dword [ebp - 0xc]
push edi
push eax
add eax, edx
push eax
call fcn.14d07c5e
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 0x14d0ac43
cmp dword [ebp - 0x18], 1
jle 0x14d0ac36
cmp byte [ebp - 3], 0
je 0x14d0ac1a
cmp dword [ebp - 0x1c], 0
jge 0x14d0ac1a
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x18], 1
jle 0x14d0ac36
mov esi, dword [ebp - 0x18]
dec esi
push edi
push dword [ebp - 0xc]
push ebx
call fcn.14d07c5e
add esp, 0xc
add ebx, edi
dec esi
jne 0x14d0ac24
mov eax, dword [ebp - 0x14]
test eax, eax
jle 0x14d0ac45
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
test eax, eax
jl 0x14d0acdd
lea esi, [eax - 1]
test esi, esi
jl 0x14d0ac98
mov al, byte [ebp - 0x24]
add al, 0x47
mov byte [ebp - 4], al
jmp 0x14d0ac5f
mov al, byte [ebp - 4]
mov byte [ebx], al
inc ebx
test esi, esi
je 0x14d0ac86
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.14d07c5e
add esp, 0xc
add ebx, edi
dec esi
jns 0x14d0ac5c
cmp dword [ebp - 0x3c], 0
je 0x14d0ad53
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 0x14d0aca5
jmp 0x14d0ad53
mov al, byte [ebp - 0x24]
add al, 0x3d
mov ecx, ebx
sub ecx, dword [ebp - 0x44]
mov byte [ecx], al
jmp 0x14d0ad53
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x14d0acf9
mov ebx, edi
jmp 0x14d0ad9f
cmp dword [ebp - 0x18], 0
jne 0x14d0ad0b
cmp ecx, 0xffffffff
jne 0x14d0ad1d
add al, 0x2f
jmp 0x14d0ab10
cmp dword [ebp - 0x18], 1
jne 0x14d0ad29
cmp ecx, 0xffffffff
jne 0x14d0ad29
add al, 0x31
jmp 0x14d0ab10
cmp ecx, 1
jne 0x14d0ad29
add al, 0x33
jmp 0x14d0ab10
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 0x14d0ad47
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 0x14d0ad9c
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.14d07c5e
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 0x14d09d11
mov eax, dword [ebp + 0x18]
mov byte [eax], 0x23
jmp 0x14d0adf2
mov eax, dword [ebp + 0x18]
mov byte [eax], 0x2b
jmp 0x14d0adf2
mov eax, dword [ebp + 0x18]
mov byte [eax], 0xf
jmp 0x14d0adf2
mov eax, dword [ebp + 0x18]
mov byte [eax], 0x28
jmp 0x14d0adf2
mov eax, dword [ebp + 0x18]
mov byte [eax], 0x1b
jmp 0x14d0adf2
mov eax, dword [ebp + 0x18]
mov byte [eax], 8
jmp 0x14d0adf2
mov eax, dword [ebp + 0x18]
mov byte [eax], 9
jmp 0x14d0adf2
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