Function at 0x14d0aaac
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 0x14d0ab26
test eax, eax
jne 0x14d0b2e1
mov edx, dword [ebp + 0xc]
test byte [ebp - 0x30], 8
je 0x14d0ab5e
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx + 0xc]
test byte [eax + ecx], 1
jne 0x14d0bba4
cmp eax, 0x23
jne 0x14d0ab5b
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
mov dword [ebp - 0x24], eax
je 0x14d0ab5b
cmp eax, 0xa
jne 0x14d0ab41
jmp 0x14d0bba4
mov edx, dword [ebp + 0xc]
xor esi, esi
inc esi
cmp eax, 0x2e
jg 0x14d0b18f
je 0x14d0b16e
mov ecx, eax
xor edi, edi
sub ecx, edi
je 0x14d0b1ba
sub ecx, 0x24
je 0x14d0b163
sub ecx, 4
je 0x14d0abac
dec ecx
je 0x14d0b1ba
dec ecx
je 0x14d0aba0
dec ecx
jne 0x14d0b2e1
mov dword [ebp - 0x18], esi
jmp 0x14d0aba3
mov dword [ebp - 0x18], edi
or dword [ebp - 0x14], 0xffffffff
jmp 0x14d0b76a
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 0x14d0b050
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
mov cl, byte [eax]
movzx eax, cl
cmp eax, 0x3c
jg 0x14d0ad07
je 0x14d0acb0
cmp eax, 0x21
je 0x14d0aca7
cmp eax, 0x23
je 0x14d0ac97
cmp eax, 0x28
je 0x14d0ac1c
cmp eax, 0x2f
jle 0x14d0ad28
cmp eax, 0x39
jle 0x14d0addf
cmp eax, 0x3a
jne 0x14d0ad28
mov dword [ebp - 0x20], 0x4a
jmp 0x14d0b03f
mov eax, dword [ebp - 8]
inc eax
mov cl, byte [eax]
cmp cl, 0x52
mov dword [ebp - 0x20], 0x45
jne 0x14d0ac48
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 0x14d0b074
movzx ecx, cl
cmp byte [ecx + 0x14d037a8], 0
je 0x14d0b074
mov esi, eax
mov dword [ebp - 8], esi
movzx eax, byte [esi]
sub eax, 0x30
jmp 0x14d0ac6f
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 0x14d0ac65
cmp eax, edi
je 0x14d0bbaf
inc esi
mov ecx, eax
mov dword [ebp - 8], esi
sar ecx, 8
mov byte [ebx + 3], 0x46
mov byte [ebx + 4], cl
jmp 0x14d0aee9
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp byte [eax], 0x29
jne 0x14d0ac97
jmp 0x14d0bba4
mov dword [ebp - 0x20], 0x40
jmp 0x14d0accb
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
mov al, byte [eax]
cmp al, 0x21
je 0x14d0acf8
cmp al, 0x3d
jne 0x14d0b06a
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 0x14d0b07c
cmp eax, 0x42
je 0x14d0b07c
xor al, al
jmp 0x14d0b080
mov dword [ebp - 0x20], 0x42
inc dword [ebp - 8]
jmp 0x14d0b06a
sub eax, 0x3d
je 0x14d0b044
dec eax
je 0x14d0b038
sub eax, 0x12
je 0x14d0ae01
dec eax
dec eax
je 0x14d0addc
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x3c], edi
lea eax, [ebp - 0x3c]
jmp 0x14d0ad7d
cmp cl, 0x3a
je 0x14d0ad82
inc dword [ebp - 8]
movzx ecx, cl
cmp ecx, 0x2d
je 0x14d0ad75
cmp ecx, 0x55
je 0x14d0ad6f
cmp ecx, 0x69
je 0x14d0ad6b
cmp ecx, 0x6d
je 0x14d0ad66
cmp ecx, 0x73
je 0x14d0ad61
cmp ecx, 0x78
jne 0x14d0ad78
or dword [eax], 8
jmp 0x14d0ad78
or dword [eax], 4
jmp 0x14d0ad78
or dword [eax], 2
jmp 0x14d0ad78
or dword [eax], esi
jmp 0x14d0ad78
or byte [eax + 1], 2
jmp 0x14d0ad78
lea eax, [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov cl, byte [ecx]
cmp cl, 0x29
jne 0x14d0ad33
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 0x14d0ac10
mov ecx, eax
xor ecx, dword [ebp - 0x30]
test cl, 7
je 0x14d0adb4
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 0x14d0bba4
inc dword [ebp - 8]
xor ecx, ecx
jmp 0x14d0aded
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 + 0x14d037a8], 4
jne 0x14d0ade3
jmp 0x14d0af78
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
mov al, byte [eax]
cmp al, 0x3c
jne 0x14d0aef8
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 0x14d0ae20
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 0x14d0ae95
push esi
lea eax, [edi + 2]
push eax
push dword [ebp - 0x2c]
call fcn.14d08aa4
add esp, 0xc
test eax, eax
jne 0x14d0ae67
cmp byte [esi + edi + 2], al
je 0x14d0bbb7
or eax, 0xffffffff
test eax, eax
mov eax, dword [ebp + 0x28]
jl 0x14d0ae7c
add edi, dword [eax + 0x1c]
inc dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [eax + 0x18]
jl 0x14d0ae44
jmp 0x14d0ae95
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.14d08a86
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.14d08a86
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 0x14d0b062
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 0x14d0b074
cmp al, 0x3d
je 0x14d0af04
cmp al, 0x3e
jne 0x14d0b06a
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 0x14d0af1a
inc eax
mov dword [ebp - 8], eax
cmp byte [eax], 0x29
jne 0x14d0af19
and dword [ebp - 0x3c], 0
mov esi, eax
mov eax, dword [ebp + 0x28]
sub esi, dword [ebp - 0x24]
cmp dword [eax + 0x18], 0
jle 0x14d0af59
push esi
lea eax, [edi + 2]
push eax
push dword [ebp - 0x24]
call fcn.14d08aa4
add esp, 0xc
test eax, eax
je 0x14d0af59
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 0x14d0af34
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0x18]
cmp dword [ebp - 0x3c], eax
jge 0x14d0bbbf
cmp dword [ebp - 0x54], 0x3e
movzx ecx, byte [edi + 1]
mov ch, byte [edi]
jne 0x14d0b002
test ecx, ecx
mov dword [ebp - 0xc], ebx
mov byte [ebx], 0
jne 0x14d0af8a
mov esi, dword [ebp + 0x28]
mov eax, dword [esi + 0x10]
jmp 0x14d0af9a
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0x10]
push ecx
call fcn.14d0a8f9
mov esi, dword [ebp + 0x28]
pop ecx
test eax, eax
mov dword [ebp - 0x3c], eax
je 0x14d0bbbf
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
test ecx, ecx
jne 0x14d0afe6
mov edi, dword [ebp + 0x24]
test edi, edi
je 0x14d0bbc7
mov ecx, dword [edi + 4]
cmp ecx, eax
jb 0x14d0bbc7
push ebx
push ecx
call fcn.14d0a940
test al, al
pop ecx
pop ecx
je 0x14d0afe3
mov edi, dword [edi]
test edi, edi
je 0x14d0bbc7
mov eax, dword [ebp - 0x3c]
jmp 0x14d0afbc
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 0x14d0bba4
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 0x14d0b01f
shl eax, cl
mov edx, dword [ebp + 0x28]
or dword [edx + 0x24], eax
cmp ecx, dword [edx + 0x20]
jle 0x14d0bba4
mov eax, edx
mov dword [eax + 0x20], ecx
jmp 0x14d0bba4
mov dword [ebp - 0x20], 0x44
inc dword [ebp - 8]
jmp 0x14d0b074
mov dword [ebp - 0x20], 0x3f
jmp 0x14d0acff
test ah, 0x10
je 0x14d0aec5
mov dword [ebp - 0x20], 0x4a
jmp 0x14d0b074
add eax, 0x4a
mov dword [ebp - 0x20], eax
xor edi, edi
cmp dword [ebp - 0x20], 0x44
jl 0x14d0acce
mov dword [ebp - 0xc], ebx
jmp 0x14d0acd1
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.14d0bbfc
add esp, 0x30
test al, al
je 0x14d0bbed
mov esi, dword [ebp - 0x20]
cmp esi, 0x45
jne 0x14d0b0eb
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 0x14d0b0c0
cmp eax, 2
jg 0x14d0bbcf
cmp eax, 1
jne 0x14d0b0eb
or eax, 0xffffffff
mov ecx, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x48], eax
jmp 0x14d0b0f1
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 0x14d0b117
cmp esi, 0x44
je 0x14d0b117
cmp esi, 0x45
je 0x14d0b117
cmp esi, 0x3f
jne 0x14d0b149
jmp 0x14d0b142
cmp edx, 0xfffffffe
jne 0x14d0b133
test eax, eax
jl 0x14d0b129
mov dword [ebp - 0x10], eax
mov byte [ebp - 3], 1
jmp 0x14d0b12d
or dword [ebp - 0x10], 0xffffffff
or dword [ebp - 0x28], 0xffffffff
jmp 0x14d0b142
test eax, eax
jl 0x14d0b142
test ecx, ecx
jge 0x14d0b146
or eax, edi
mov ecx, eax
mov dword [ebp - 0x40], ecx
test ecx, ecx
jl 0x14d0b149
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 8]
cmp byte [eax], 0x29
mov ebx, dword [ebp - 0x38]
je 0x14d0bba4
mov eax, dword [ebp + 0x18]
mov byte [eax], 0xe
jmp 0x14d0bbed
mov dword [ebp - 0xc], edi
mov byte [ebx], 0x11
jmp 0x14d0b710
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0b178
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 0x14d0b710
mov ecx, eax
sub ecx, 0x3f
je 0x14d0b763
sub ecx, 0x1c
je 0x14d0b404
dec ecx
je 0x14d0b22c
dec ecx
dec ecx
je 0x14d0b210
sub ecx, 0x1d
je 0x14d0b1d6
dec ecx
jne 0x14d0b2e1
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 0x14d0bbef
mov esi, dword [ebp - 8]
inc esi
mov eax, esi
call fcn.14d0a636
test al, al
je 0x14d0b2de
mov edi, dword [ebp + 0x18]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
mov eax, esi
call fcn.14d0a697
mov dword [ebp - 8], eax
mov eax, edi
cmp byte [eax], 0
pop ecx
pop ecx
jne 0x14d0bbed
jmp 0x14d0b76a
test byte [ebp - 0x30], 2
je 0x14d0b220
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0b220
or dword [ebp - 0x10], 0xffffffff
and dword [ebp - 0xc], 0
mov byte [ebx], 0x10
jmp 0x14d0b710
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.14d0a4bb
add esp, 0xc
test eax, eax
jge 0x14d0b2d4
mov ecx, eax
neg ecx
cmp ecx, 0x10
jne 0x14d0b278
mov eax, dword [ebp - 8]
cmp byte [eax + 1], 0x5c
jne 0x14d0b26f
add eax, 2
cmp byte [eax], 0x45
jne 0x14d0b26f
mov dword [ebp - 8], eax
jmp 0x14d0bba4
mov byte [ebp - 1], 1
jmp 0x14d0bba4
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0b28c
cmp ecx, 4
jle 0x14d0b28c
cmp ecx, 0xd
jge 0x14d0b28c
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 0x14d0b2ba
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 0x14d0bba4
cmp ecx, 4
jle 0x14d0b2c9
cmp ecx, 0xd
jge 0x14d0b2c9
mov dword [ebp - 0xc], ebx
jmp 0x14d0b2cd
and dword [ebp - 0xc], 0
neg al
jmp 0x14d0b70e
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 0x14d0b310
cmp eax, 0x5c
jne 0x14d0b360
mov ecx, dword [ebp - 8]
inc ecx
cmp byte [ecx], 0x45
jne 0x14d0b360
mov byte [ebp - 1], 0
mov dword [ebp - 8], ecx
jmp 0x14d0b366
test byte [ebp - 0x30], 8
je 0x14d0b338
mov ecx, dword [edi + 0xc]
test byte [eax + ecx], 1
jne 0x14d0b366
cmp eax, 0x23
jne 0x14d0b338
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x14d0b390
cmp eax, 0xa
jne 0x14d0b324
jmp 0x14d0b366
cmp eax, 0x5c
jne 0x14d0b35d
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.14d0a4bb
add esp, 0xc
test eax, eax
mov dword [ebp - 0x24], eax
jl 0x14d0b38a
mov edi, dword [ebp + 0x28]
mov byte [ebx], al
inc ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfa
jge 0x14d0b390
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 0x14d0b2f3
jmp 0x14d0b390
mov dword [ebp - 8], edi
mov edi, dword [ebp + 0x28]
mov eax, dword [ebp - 0x10]
cmp eax, 0xfffffffe
mov ecx, dword [ebp - 0x2c]
jne 0x14d0b3f7
cmp ecx, 1
movzx eax, byte [esi]
jne 0x14d0b3b5
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 0x14d0b3dd
or eax, dword [ebp - 0x34]
cmp ecx, 2
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], eax
jle 0x14d0b3ff
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 0x14d0bba4
dec dword [ebp - 8]
jmp 0x14d0bba4
cmp ecx, 1
mov dword [ebp - 0x28], eax
jne 0x14d0b3c3
mov eax, dword [ebp - 0x1c]
jmp 0x14d0b3cd
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movzx edi, byte [eax]
cmp edi, 0x5e
mov dword [ebp - 0xc], ebx
jne 0x14d0b424
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movzx edi, byte [eax]
mov byte [ebp - 2], 1
jmp 0x14d0b428
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.14d08ade
pop ecx
pop ecx
cmp byte [ebp - 1], 0
je 0x14d0b45f
cmp edi, 0x5c
jne 0x14d0b653
mov eax, dword [ebp - 8]
inc eax
cmp byte [eax], 0x45
jne 0x14d0b653
mov byte [ebp - 1], 0
jmp 0x14d0b4a4
cmp edi, 0x5c
jne 0x14d0b4f8
mov eax, dword [ebp + 0xc]
push 1
push dword [eax]
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp + 0x18]
call fcn.14d0a4bb
mov edi, eax
neg eax
add esp, 0xc
cmp eax, 4
jne 0x14d0b48a
push 8
pop edi
mov ecx, edi
neg ecx
cmp ecx, 0x10
jne 0x14d0b4b5
mov eax, dword [ebp - 8]
cmp byte [eax + 1], 0x5c
jne 0x14d0b4ac
add eax, 2
cmp byte [eax], 0x45
jne 0x14d0b4ac
mov dword [ebp - 8], eax
jmp 0x14d0b697
mov byte [ebp - 1], 1
jmp 0x14d0b697
test edi, edi
jge 0x14d0b4f8
sub ecx, 5
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x2c], 0xa
je 0x14d0b639
dec ecx
je 0x14d0b627
dec ecx
je 0x14d0b607
dec ecx
je 0x14d0b5e6
dec ecx
je 0x14d0b5cc
dec ecx
je 0x14d0b5b4
mov eax, dword [ebp - 8]
movzx edi, byte [eax]
mov eax, dword [ebp - 8]
cmp byte [eax + 1], 0x2d
jne 0x14d0b653
add eax, 2
cmp byte [eax], 0x5d
je 0x14d0b653
mov esi, eax
mov dword [ebp - 8], esi
movzx eax, byte [esi]
cmp eax, 0x5c
mov dword [ebp - 0x3c], eax
jne 0x14d0b54d
mov eax, dword [ebp + 0xc]
push 1
push dword [eax]
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp + 0x18]
call fcn.14d0a4bb
add esp, 0xc
test eax, eax
mov dword [ebp - 0x3c], eax
jge 0x14d0b54d
cmp eax, 0xfffffffc
jne 0x14d0b64d
push 8
pop eax
mov dword [ebp - 0x3c], eax
cmp edi, eax
jg 0x14d0bbd7
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 0x14d0b5a6
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 0x14d0b56a
jmp 0x14d0b697
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
or byte [ebp + esi - 0x74], cl
inc esi
cmp esi, 0x20
jl 0x14d0b5b6
jmp 0x14d0b697
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
not cl
or byte [ebp + esi - 0x74], cl
inc esi
cmp esi, 0x20
jl 0x14d0b5ce
jmp 0x14d0b697
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 0x14d0b5ef
and byte [ebp - 0x73], 0xf7
jmp 0x14d0b697
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 0x14d0b610
or byte [ebp - 0x73], 8
jmp 0x14d0b697
xor esi, esi
mov cl, byte [eax + esi + 0x40]
or byte [ebp + esi - 0x74], cl
inc esi
cmp esi, 0x20
jl 0x14d0b629
jmp 0x14d0b697
xor esi, esi
mov cl, byte [eax + esi + 0x40]
not cl
or byte [ebp + esi - 0x74], cl
inc esi
cmp esi, 0x20
jl 0x14d0b63b
jmp 0x14d0b697
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 0x14d0b691
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 0x14d0b43d
cmp byte [ebp - 1], 0
jne 0x14d0b443
cmp dword [ebp - 0x2c], 1
jne 0x14d0b716
cmp byte [ebp - 2], 0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
je 0x14d0b6da
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0b6cf
or dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
mov byte [ebx], 0x13
jmp 0x14d0b70a
mov eax, dword [ebp - 0x10]
cmp eax, 0xfffffffe
jne 0x14d0b6f1
mov eax, dword [ebp - 0x24]
or dword [ebp - 0x28], 0xffffffff
or eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], eax
jmp 0x14d0b703
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 0x14d0bba4
cmp dword [ebp - 0x10], 0xfffffffe
jne 0x14d0b720
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 0x14d0b74d
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 0x14d0b740
jmp 0x14d0b75b
mov byte [ebx], 0x37
push eax
inc ebx
push ebx
call fcn.14d08a86
add esp, 0xc
add ebx, 0x20
jmp 0x14d0bba4
and dword [ebp - 0x18], 0
mov dword [ebp - 0x14], esi
mov edi, dword [ebp - 0xc]
test edi, edi
je 0x14d0bbdf
cmp dword [ebp - 0x18], 0
jne 0x14d0b787
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 0x14d0b7b7
xor eax, eax
mov byte [ebp - 2], 1
jmp 0x14d0b7be
cmp al, 0x3f
jne 0x14d0b7c3
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 8], ecx
jmp 0x14d0b7c6
mov eax, dword [ebp - 0x50]
cmp byte [edi], 0x3a
mov dword [ebp - 0x24], eax
jne 0x14d0b80c
mov eax, dword [ebp - 0xc]
push 3
push eax
add eax, 3
push eax
call fcn.14d08a86
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 0x14d0b847
dec ebx
movzx ecx, byte [ebx]
mov dword [ebp - 0x24], ecx
mov ecx, edi
lea edi, [ecx + 2]
cmp ebx, edi
jne 0x14d0b83f
cmp dword [ebp - 0x18], 1
mov ebx, ecx
jle 0x14d0b868
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 0x14d0b868
dec byte [ecx + 1]
mov dword [ebp - 0x38], ebx
jmp 0x14d0b868
cmp cl, 0x13
jne 0x14d0b854
movzx ecx, byte [edi + 1]
push 9
jmp 0x14d0b862
cmp cl, 0xd
jae 0x14d0b913
push 0x12
movzx ecx, cl
pop edx
mov dword [ebp - 0x24], ecx
mov ebx, edi
cmp dword [ebp - 0x14], 0
je 0x14d0bb9a
add eax, edx
cmp dword [ebp - 0x18], 0
jne 0x14d0b88e
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xffffffff
je 0x14d0b8dc
cmp ecx, 1
jne 0x14d0b8f7
add al, 0x18
mov byte [ebx], al
inc ebx
jmp 0x14d0b908
cmp dword [ebp - 0x18], 1
jne 0x14d0b89e
cmp dword [ebp - 0x14], 0xffffffff
jne 0x14d0b8b3
add al, 0x16
jmp 0x14d0b889
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 0x14d0b8c1
mov esi, dword [ebp - 0xc]
mov cl, byte [esi]
cmp cl, 0x12
jne 0x14d0b8ca
cmp ebx, esi
jne 0x14d0b8c5
inc ebx
inc ebx
jmp 0x14d0b8d0
inc byte [esi + 1]
jmp 0x14d0b8d0
cmp cl, 0x13
jne 0x14d0b8d0
inc ebx
cmp dword [ebp - 0x14], 0
jge 0x14d0b8e0
mov cl, byte [ebp - 0x24]
mov byte [ebx], cl
inc ebx
add al, 0x14
jmp 0x14d0b889
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x14], ecx
je 0x14d0b908
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 0x14d0bb4e
cmp cl, 0x37
je 0x14d0bae6
cmp cl, 0x38
je 0x14d0bae6
cmp cl, 0x39
je 0x14d0bae6
cmp cl, 0x4a
jae 0x14d0b941
cmp cl, 0x44
je 0x14d0b941
cmp cl, 0x45
jne 0x14d0bbe7
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 0x14d0b96d
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 0x14d0b957
mov ecx, ebx
sub ecx, eax
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x18], edx
jne 0x14d0b9fd
cmp dword [ebp - 0x14], edx
jne 0x14d0b983
mov ebx, dword [ebp - 0xc]
jmp 0x14d0bb9a
cmp dword [ebp - 0x14], 1
push dword [ebp + 0x28]
mov byte [ebx], 0
push dword [ebp - 0xc]
jg 0x14d0b9bb
xor edx, edx
inc edx
call fcn.14d0aa48
mov eax, dword [ebp - 0xc]
push edi
lea esi, [eax + 1]
push eax
push esi
call fcn.14d08a86
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 0x14d0b9f5
push 4
pop edx
call fcn.14d0aa48
mov eax, dword [ebp - 0xc]
push edi
push eax
add eax, edx
push eax
call fcn.14d08a86
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 0x14d0ba3e
cmp dword [ebp - 0x18], 1
jle 0x14d0ba31
cmp byte [ebp - 3], 0
je 0x14d0ba15
cmp dword [ebp - 0x1c], 0
jge 0x14d0ba15
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x18], 1
jle 0x14d0ba31
mov esi, dword [ebp - 0x18]
dec esi
push edi
push dword [ebp - 0xc]
push ebx
call fcn.14d08a86
add esp, 0xc
add ebx, edi
dec esi
jne 0x14d0ba1f
mov eax, dword [ebp - 0x14]
test eax, eax
jle 0x14d0ba40
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
test eax, eax
jl 0x14d0bad8
lea esi, [eax - 1]
test esi, esi
jl 0x14d0ba93
mov al, byte [ebp - 0x24]
add al, 0x47
mov byte [ebp - 4], al
jmp 0x14d0ba5a
mov al, byte [ebp - 4]
mov byte [ebx], al
inc ebx
test esi, esi
je 0x14d0ba81
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.14d08a86
add esp, 0xc
add ebx, edi
dec esi
jns 0x14d0ba57
cmp dword [ebp - 0x3c], 0
je 0x14d0bb4e
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 0x14d0baa0
jmp 0x14d0bb4e
mov al, byte [ebp - 0x24]
add al, 0x3d
mov ecx, ebx
sub ecx, dword [ebp - 0x44]
mov byte [ecx], al
jmp 0x14d0bb4e
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x14d0baf4
mov ebx, edi
jmp 0x14d0bb9a
cmp dword [ebp - 0x18], 0
jne 0x14d0bb06
cmp ecx, 0xffffffff
jne 0x14d0bb18
add al, 0x2f
jmp 0x14d0b90b
cmp dword [ebp - 0x18], 1
jne 0x14d0bb24
cmp ecx, 0xffffffff
jne 0x14d0bb24
add al, 0x31
jmp 0x14d0b90b
cmp ecx, 1
jne 0x14d0bb24
add al, 0x33
jmp 0x14d0b90b
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 0x14d0bb42
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 0x14d0bb97
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.14d08a86
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 0x14d0ab0c
mov eax, dword [ebp + 0x18]
mov byte [eax], 0x23
jmp 0x14d0bbed
mov eax, dword [ebp + 0x18]
mov byte [eax], 0x2b
jmp 0x14d0bbed
mov eax, dword [ebp + 0x18]
mov byte [eax], 0xf
jmp 0x14d0bbed
mov eax, dword [ebp + 0x18]
mov byte [eax], 0x28
jmp 0x14d0bbed
mov eax, dword [ebp + 0x18]
mov byte [eax], 0x1b
jmp 0x14d0bbed
mov eax, dword [ebp + 0x18]
mov byte [eax], 8
jmp 0x14d0bbed
mov eax, dword [ebp + 0x18]
mov byte [eax], 9
jmp 0x14d0bbed
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