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

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x44]
inc dword [esi + 0x10]
push edi
test eax, 0x8000000
jne 0x10008e4a
cmp dword [esi + 0x40], 0x29
jne 0x10008e4a
push 5
call fcn.100638d0
add esp, 4
dec dword [esi + 0x10]
pop edi
mov al, 1
mov esi, dword [esp]
pushfd
push eax
push ecx
bsf cx, ax
lahf
cmp eax, 0xd2
push ebx
xchg bh, bh
add bh, 0x67
aad 0xa
inc cx
clc
bt ecx, 1
ror ebx, 1
cmc
sahf
das
das
aam 0xa
neg bx
sahf
not ax
dec bh
sar bl, 4
mov ebx, dword [esp]
push ebx
lea ecx, [ecx + 0x424a]
push edx
not cx
pop eax
push edx
xor edx, edx
mov eax, 0xc09a
mov ecx, 0x1622
div ecx
mov eax, dword [esp + 0x14]
push eax
popfd
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp]
lea esp, [esp + 0x18]
lea esp, [esp + 4]
ret
test al, 0x20
je 0x10008f2a
cmp dword [esi + 0x40], 0x3f
jne 0x10008f2a
call fcn.10008bb0
mov edi, dword [esi + 0x40]
mov ecx, esi
call fcn.10008bb0
cmp edi, 0x3a
jne 0x10008e83
mov ecx, esi
call fcn.10006050
dec dword [esi + 0x10]
pop edi
mov al, 1
pop esi
ret
cmp edi, 0x21
jne 0x10008ea2
jmp 0x10008e91
push 1
mov ecx, esi
call fcn.1001fde0
dec dword [esi + 0x10]
pop edi
xor al, al
pop esi
ret
cmp edi, 0x3d
jne 0x10008ebc
push 0
mov ecx, esi
call fcn.1001fde0
dec dword [esi + 0x10]
pop edi
xor al, al
pop esi
ret
push 0xe
call fcn.100638d0
add esp, 4
dec dword [esi + 0x10]
mov edi, dword [esp]
pushfd
push ecx
not cx
stc
push eax
aad 0xa
push edx
rol dx, 2
sub al, 0xac
push ebx
not ebx
dec edx
dec ch
lahf
sub edx, edx
stc
bsf ecx, ecx
neg bl
push eax
or ax, cx
stc
aam 0xa
sahf
not bl
mov ebx, dword [esp + 4]
dec eax
cmc
push ebx
lahf
aas
xor edx, edx
mov eax, 0xa25a
mov ecx, 0x9f21
div ecx
mov eax, dword [esp + 0x18]
push eax
popfd
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
lea esp, [esp + 0x1c]
lea esp, [esp + 4]
mov al, 1
pop esi
ret
test dword [esi + 0x38], 0x200
jne 0x10008e76
call fcn.10005e20
dec dword [esi + 0x10]
pop edi
mov al, 1
mov esi, dword [esp]
pushfd
push eax
aas
push ebx
inc bh
rol eax, 6
push edx
cwd
aaa
nop
cbw
cdq
push ecx
sahf
not bl
mov ebx, dword [esp + 8]
push ecx
xadd edx, ecx
xor edx, edx
mov eax, 0x202b
mov ecx, 0x5bbe
div ecx
mov ecx, dword [esp]
not al
push ebx
pop eax
neg ah
mov eax, dword [esp + 0x10]
dec edx
mov edx, dword [esp + 0x14]
push edx
popfd
mov edx, dword [esp + 8]
lea esp, [esp + 0x18]
lea esp, [esp + 4]
ret
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x40]
push edi
xor ebx, ebx
or edi, 0xffffffff
cmp eax, 0x2a
jmp 0x1001d44f
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1001d28a
cmp ecx, 0x7d
jne 0x1001d28c
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10008630
test dword [esi + 0x44], 0x400
jmp 0x1001d319
push edi
push ebx
lea ecx, [esi + 0x18]
call fcn.1001c200
mov edi, dword [esp]
pushfd
push ecx
dec cx
push edx
cwd
push eax
or eax, 0x35
dec eax
dec edx
aaa
push ecx
xor al, ah
das
mov ch, 0x79
mov ax, 0x72
push ebx
or ebx, 0xffff94d7
daa
cmp eax, edx
sahf
push ebx
xadd eax, eax
inc cx
or ch, ch
cbw
bswap edx
bt ebx, 0
cbw
sub ebx, ecx
mov ebx, dword [esp + 4]
aam 0xa
aas
nop
mov eax, 0x9d93
mov ecx, 0xc507
mul ecx
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
dec cl
mov ecx, dword [esp + 0x18]
push ecx
popfd
mov ecx, dword [esp + 0x14]
lea esp, [esp + 0x1c]
lea esp, [esp + 4]
pop esi
pop ebx
ret
je 0x1001d51b
cmp dword [esi + 0x40], 0x3f
jne 0x1001d51b
mov ecx, esi
call fcn.10008bb0
push 0
push edi
lea esp, [esp - 4]
pushfd
push ebx
inc bh
sar bl, 5
push eax
aam 0xa
push edx
cwd
mov ax, 0x76
push ecx
mov cx, 0x3c
mul cx
mov edx, dword [esp + 4]
cmp dx, ax
test eax, 0xffff8384
cmp cl, 0xd8
neg ch
mov ecx, dword [esp]
daa
sahf
lahf
bt bx, 0
mov ebx, dword [esp + 0xc]
inc ah
and al, 0xbe
aad 0xa
bswap eax
aaa
aas
mov eax, dword [esp + 0x10]
push eax
popfd
mov eax, 0x55
mov eax, dword [esp + 8]
lea esp, [esp + 0x14]
mov dword [esp], ebx
lea ecx, [esi + 0x18]
call fcn.1001c200
pop edi
pop esi
pop ebx
jmp 0x1001d51a
mov eax, dword [esi + 0x1c]
or dword [eax + 8], 4
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001d28f
cmp word [eax], 0x5c
jne 0x1001d28c
add eax, 2
cmp eax, ecx
je 0x1001d440
test byte [esi + 0x44], 8
jne 0x1001d440
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1001d28a
cmp ecx, 0x29
je 0x1001d28a
test byte [esi + 0x44], 0x10
jne 0x1001d28c
jmp 0x1001d275
je 0x1001d3f8
cmp eax, 0x2b
jne 0x1001d466
lea ebx, [edi + 2]
jmp 0x1001d3f8
cmp eax, 0x3f
jne 0x1001d477
lea edi, [eax - 0x3e]
jmp 0x1001d3f8
cmp eax, 0x7b
jne 0x1001d2ac
call fcn.10008bb0
push 0x7fffffff
push 0xa
mov ecx, esi
push 0x2fbc8eb
pushfd
push eax
daa
cbw
push ecx
neg cx
push ebx
lea eax, [ebx - 0x34bd]
push edx
inc edx
cdq
push edx
stc
xor edx, edx
mov eax, 0xcbe
mov ecx, 0x884a
div ecx
mov edx, dword [esp + 4]
aas
aam 0xa
shr cx, 2
aam 0xa
sub bx, 0x41fb
inc ax
not eax
inc ecx
mov ecx, dword [esp + 0xc]
clc
sub ebx, eax
mov eax, dword [esp + 0x14]
push eax
popfd
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 8]
lea esp, [esp + 0x18]
jmp fcn.10009720
ret
push 1
jmp 0x1001d2a2
push esi
mov esi, ecx
xor al, al
cmp dword [esi + 0x40], 0xffff
je 0x1001f800
push ebx
mov ecx, dword [esi + 0x40]
cmp ecx, 0x7c
je 0x1001f7ff
xor ebx, ebx
cmp ecx, 0x29
jne 0x1001f32f
cmp dword [esi + 0x10], ebx
jne 0x1001f7ff
mov eax, 0x10000000
test dword [esi + 0x44], eax
jne 0x1001f334
push 5
call fcn.100638d0
add esp, 4
jo 0x1001f76c
pushfd
push eax
aaa
push edx
cdq
push ebx
xchg bx, bx
push ecx
dec cl
bt dx, 2
cmc
cmc
ror bh, 1
clc
shl al, 4
dec eax
dec bh
sub cl, al
bsf ebx, eax
cmc
bsf dx, dx
test cx, 0xc2c
push ebx
bswap edx
xor bx, cx
daa
daa
lahf
daa
mov eax, dword [esp + 0x10]
neg ch
mov ebx, dword [esp + 0x14]
push ebx
popfd
lea ebx, [ecx + edx - 0x3e5b]
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
lea esp, [esp + 0x18]
jno 0x1001f76c
mov eax, 0x10000000
cmp ecx, 0x2e
jne 0x1001f71d
push 0x14
call fcn.10065345
add esp, 4
cmp eax, ebx
je 0x1001f402
mov dword [eax], 0x301d460
mov dword [eax + 4], 5
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
jmp 0x1001f3fa
jne 0x1001f382
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1001f3a1
cmp ecx, 0x29
je 0x1001f3a1
test byte [esi + 0x44], 0x10
jne 0x1001f3a3
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1001f3a1
cmp ecx, 0x7d
jne 0x1001f3a3
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10008630
mov eax, dword [esi + 0x44]
and eax, 0x80
je 0x1001f3da
cmp word [esi + 0x3e], 0x62
jne 0x1001f3da
lea ecx, [esi + 0x18]
call fcn.10002fa0
mov ecx, esi
call fcn.10008bb0
jmp 0x1001f7f0
cmp eax, ebx
je 0x1001f758
cmp word [esi + 0x3e], 0x42
jne 0x1001f758
lea ecx, [esi + 0x18]
call fcn.10002fa0
jmp 0x1001f742
mov dword [eax + 0x10], ebx
jmp 0x1001f404
xor eax, eax
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [esi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, ebx
je 0x1001f424
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [esi + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [esi + 0x1c], eax
jmp 0x1001f6ac
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1001f466
cmp ecx, 0x29
je 0x1001f466
test byte [esi + 0x44], 0x10
jne 0x1001f468
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1001f466
cmp ecx, 0x7d
jne 0x1001f468
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10008630
mov ecx, esi
call fcn.1001ebf0
push 4
push 0x5d
mov ecx, esi
call fcn.10008ca0
jmp 0x1001f76c
cmp ecx, 0x28
jne 0x1001f802
mov ecx, esi
call fcn.10008bb0
mov ecx, esi
push 0x2fbe985
nop
lea esp, [esp - 0x38]
pushfd
pushfd
push eax
neg ah
push ebx
bswap ebx
nop
push ecx
lea ecx, [ebx - 0x1a27]
inc cx
push ecx
aam 0xa
sar ebx, 5
xchg ecx, eax
xor ax, 0x35
lea esp, [esp - 4]
push edx
cwd
pushfd
push eax
add ah, ah
mov dx, dx
xor dx, dx
mov ax, 0x7ee3
push ecx
mov cx, 0x5f81
div cx
sahf
not dl
shl edx, 5
inc al
cmp cx, ax
bswap ecx
test edx, ecx
sahf
not cx
aas
not ecx
clc
cbw
inc dh
dec ecx
neg dx
mov edx, dword [esp + 0xc]
push ebx
lahf
mov eax, dword [esp + 8]
bswap ecx
mov ecx, dword [esp + 4]
push ebx
inc ebx
mov ebx, dword [esp + 0x10]
push ebx
popfd
mov ebx, dword [esp]
lea esp, [esp + 0x18]
mov dword [esp], edx
cwd
mov eax, dword [esp]
mov dword [esp + 0x50], eax
pop ecx
btc ax, 5
cmc
bts eax, 2
sahf
push ebx
sar ebx, 4
xadd edx, ecx
inc ax
aaa
ror ax, 4
bts edx, 3
inc ebx
add ebx, eax
dec ecx
das
pop ebx
inc bx
bsf edx, ecx
cbw
clc
bsf edx, ecx
mov ax, 0xb4
mov cx, 0xf3
mul cx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x4c]
sahf
inc bh
mov ebx, dword [esp + 0x10]
push ebx
popfd
mov ebx, dword [esp + 8]
lea esp, [esp + 0x50]
jmp 0x10008db0
add eax, 2
cmp eax, ecx
je 0x1001f382
test byte [esi + 0x44], 8
jmp 0x1001f367
jmp 0x1001f76c
cmp ecx, 0x5b
jne 0x1001f489
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001f46b
cmp word [eax], 0x5c
jne 0x1001f468
add eax, 2
cmp eax, ecx
je 0x1001f447
test byte [esi + 0x44], 8
jne 0x1001f447
jns 0x1001f432
pushfd
push eax
aas
not eax
stc
push ecx
btc cx, 6
aam 0xa
btc ecx, 2
das
lea esp, [esp - 4]
pushfd
push eax
push edx
and edx, eax
sahf
push ebx
neg bx
stc
push ecx
rol ch, 0
neg al
mov eax, 0xf1f0
mov ecx, 0xfb40
mul ecx
cbw
aas
sahf
btc eax, 3
inc dl
cbw
sahf
nop
bswap ecx
push ebx
neg ebx
rol eax, 5
inc ecx
mov ecx, dword [esp + 4]
aam 0xa
mov eax, dword [esp + 0x10]
dec bl
mov ebx, dword [esp + 8]
stc
inc edx
mov edx, dword [esp + 0x14]
push edx
popfd
mov edx, dword [esp + 0xc]
lea esp, [esp + 0x18]
mov dword [esp], edx
cwd
shl dx, 3
push ebx
xadd ebx, ecx
das
neg ah
sub ebx, ecx
neg edx
sahf
bsf ecx, ebx
push ebx
cwd
bswap eax
shr cx, 6
not eax
aad 0xa
inc bx
xadd eax, ebx
sahf
aam 0xa
aaa
inc eax
neg cx
rol eax, 2
mov eax, dword [esp + 0x10]
sar bh, 4
shl edx, 6
mov edx, dword [esp + 8]
neg ecx
mov ecx, dword [esp + 0xc]
sub ebx, 0x7892
mov ebx, dword [esp + 0x14]
push ebx
popfd
mov ebx, dword [esp + 4]
lea esp, [esp + 0x18]
js 0x1001f432
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001f711
cmp word [eax], 0x5c
jne 0x1001f70e
add eax, 2
cmp eax, ecx
je 0x1001f6ed
test byte [esi + 0x44], 8
jne 0x1001f6ed
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1001f70c
cmp ecx, 0x29
je 0x1001f70c
test byte [esi + 0x44], 0x10
jne 0x1001f70e
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1001f70c
cmp ecx, 0x7d
jne 0x1001f70e
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10008630
jmp 0x1001f76c
cmp ecx, 0x5c
jne 0x1001f5a3
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001f3a6
cmp word [eax], 0x5c
jne 0x1001f3a3
jmp 0x1001f58a
mov eax, dword [esi + 0x1c]
xor dword [eax + 8], 1
add eax, 8
mov ecx, esi
call fcn.10008bb0
jmp 0x1001f7f0
mov ecx, esi
call fcn.1001cd60
jmp 0x1001f59e
mov ecx, esi
push 0x2fbebf0
lea esp, [esp - 0x34]
pushfd
push eax
inc eax
push ebx
bsr bx, bx
clc
push edx
mov dh, 0xdc
sahf
aaa
cmp ecx, 0xffffe163
push eax
bswap edx
bswap edx
push ebx
pop ebx
dec ebx
push ecx
inc ecx
mov eax, dword [esp]
mov dword [esp + 0x48], eax
pop edx
inc bl
and al, ah
not cx
shr bl, 0
cbw
clc
xor ebx, eax
bswap ecx
clc
and edx, 0x17e4
btc eax, 5
btc cx, 0
not cx
xchg bl, bl
mov ebx, dword [esp + 8]
bsf dx, ax
neg dl
mov edx, dword [esp + 4]
bswap ecx
mov ecx, dword [esp + 0x44]
shl al, 4
sahf
mov eax, dword [esp + 0x10]
push eax
popfd
bswap eax
mov eax, dword [esp + 0xc]
lea esp, [esp + 0x48]
jmp 0x1001d260
cmp dword [esi + 0x40], 0xffff
mov al, 1
jne 0x1001f293
pop ebx
pop esi
ret
cmp ecx, 0x5e
jne 0x1001f81f
lea ecx, [esi + 0x18]
call fcn.10002e40
mov ecx, esi
call fcn.10008bb0
jmp 0x1001f7f0
cmp ecx, 0x24
jne 0x1001f83c
lea ecx, [esi + 0x18]
call fcn.10002eb0
mov ecx, esi
call fcn.10008bb0
jmp 0x1001f7f0
cmp ecx, 0x2a
je 0x1001fadc
cmp ecx, 0x2b
je 0x1001fadc
cmp ecx, 0x3f
je 0x1001fadc
cmp ecx, 0x7b
je 0x1001fadc
cmp ecx, 0x7d
jne 0x1001f962
test dword [esi + 0x44], eax
jne 0x1001f962
push 6
push 0x2fbed5a
pushfd
push ebx
neg ebx
btc ebx, 6
cmc
sahf
push eax
das
clc
push ecx
mov ecx, ecx
not ecx
not ebx
push edx
or al, dl
bswap edx
bswap ebx
test eax, edx
shr eax, 3
bswap ebx
dec bx
aam 0xa
bsf dx, dx
rol eax, 6
not ecx
push ecx
cbw
neg ebx
mov ebx, dword [esp + 0x10]
lea ecx, [ecx + edx + 0xffc]
bswap eax
daa
daa
not ecx
mov eax, dword [esp + 0x14]
push eax
popfd
mov ecx, dword [esp + 8]
pop edx
mov edx, dword [esp]
cbw
mov eax, dword [esp + 8]
lea esp, [esp + 0x14]
push 0x3002cd0
pushfd
push ebx
neg bl
push eax
push edx
cdq
stc
push ecx
bswap ecx
aas
xadd edx, ecx
shr dx, 5
cwd
xor edx, edx
mov eax, 0xae43
mov ecx, 0xce6
div ecx
daa
not ebx
shr edx, 5
bsr bx, dx
aaa
bts ecx, 3
xor dx, bx
push ebx
bt cx, 3
btc ebx, 6
stc
aad 0xa
push ecx
bsr bx, bx
bsf cx, cx
shr dh, 6
bswap ebx
add ecx, eax
daa
bsf edx, eax
inc edx
lea eax, [edx + 0x5074]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
nop
xchg cx, bx
xadd ebx, ecx
mov ebx, dword [esp + 0x18]
push ebx
popfd
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 8]
lea esp, [esp + 0x1c]
ret
cmp ecx, 0x5d
jne 0x1001fac3
test dword [esi + 0x44], eax
jne 0x1001fac3
lea esp, [esp - 4]
pushfd
sahf
push ebx
push ecx
xadd ebx, ecx
push eax
mov eax, 0x7368
mov ecx, 0x5bd7
push edx
mul ecx
bswap edx
sahf
dec ax
btc bx, 4
mov edx, 0x31f
lahf
cdq
bsr bx, bx
cmc
dec ah
inc ebx
cwd
shl eax, 6
not eax
dec bh
mov ebx, dword [esp + 0xc]
das
not edx
neg al
not al
ror cl, 1
shr dl, 0
neg ah
not eax
mov eax, dword [esp + 4]
and cx, dx
mov ecx, dword [esp + 0x10]
push ecx
popfd
mov ecx, dword [esp + 8]
mov edx, dword [esp]
lea esp, [esp + 0x14]
mov dword [esp], 4
push 0x2fbeebb
pushfd
push eax
das
push ebx
bt bx, 0
push edx
rol edx, 1
cbw
ror dx, 6
cdq
rol bl, 4
aam 0xa
clc
mov eax, 0xe618
push ecx
mov ecx, 0xe584
mul ecx
sar ecx, 4
not dl
aaa
push ecx
and ax, bx
bsf ecx, ebx
mov ebx, dword [esp + 0xc]
daa
mov eax, dword [esp + 0x10]
rol dh, 2
mov ecx, dword [esp + 0x14]
push ecx
popfd
mov edx, dword [esp + 8]
pop ecx
mov ecx, dword [esp]
lea esp, [esp + 0x14]
push 0x3002cd0
pushfd
push eax
bts ax, 1
dec ax
push ebx
push ecx
sub cl, bl
sub ax, 6
push edx
bsf ebx, edx
bts bx, 4
dec bh
stc
shl bx, 6
mov ax, 0x9d
mov cx, 0x7c
mul cx
dec ecx
and bl, cl
daa
not eax
xadd edx, ebx
add eax, ecx
inc ecx
aad 0xa
lahf
inc bh
mov ebx, dword [esp + 8]
not ax
lahf
aam 0xa
and edx, 0x37c5
xchg ecx, edx
push eax
aaa
inc edx
bts dx, 0
bswap edx
aaa
mov eax, 0xd4a3
mov ecx, 0x7e51
mul ecx
mov eax, dword [esp + 0x14]
push eax
popfd
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
lahf
mov eax, dword [esp + 0x10]
lea esp, [esp + 0x18]
ret
movzx edx, word [esi + 0x3e]
lea ecx, [esi + 0x18]
push edx
call fcn.1001bb40
mov ecx, esi
call fcn.10008bb0
jmp 0x1001f76c
push 0xa
call fcn.100638d0
add esp, 4
jmp 0x1001f76c