Function at 0x100204a0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d1ffb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x1002085f
jmp 0x100204d0
cmp eax, 0x7c
je 0x1002085f
cmp eax, 0x29
jne 0x100204f5
cmp dword [esi + 0x10], 0
jne 0x1002085f
test dword [esi + 0x50], 0x10000000
je 0x10020871
cmp eax, 0x2e
jne 0x100205b2
push 0x14
call fcn.100abc51
mov ecx, eax
add esp, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
test ecx, ecx
je 0x1002053c
mov dword [ecx], 0x100fd600
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x1002053e
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10020561
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100205a6
cmp byte [eax], 0x5c
jne 0x100205a4
inc eax
cmp eax, ecx
je 0x100205a4
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10020591
mov dl, byte [eax]
cmp dl, 0x28
je 0x100205a2
cmp dl, 0x29
je 0x100205a2
test cl, 0x10
jne 0x100205a4
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100205a2
cmp cl, 0x7d
jne 0x100205a4
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001d1d0
jmp 0x1002084a
cmp eax, 0x5c
jne 0x100206cf
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100205f7
cmp byte [eax], 0x5c
jne 0x100205f5
inc eax
cmp eax, ecx
je 0x100205f5
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100205e2
mov dl, byte [eax]
cmp dl, 0x28
je 0x100205f3
cmp dl, 0x29
je 0x100205f3
test cl, 0x10
jne 0x100205f5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100205f3
cmp cl, 0x7d
jne 0x100205f5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001d1d0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x10020660
cmp byte [esi + 0x48], 0x62
jne 0x10020660
push 4
lea ecx, [esi + 0x24]
call fcn.10020ac0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10020654
cmp byte [eax], 0x5c
jne 0x10020652
inc eax
cmp eax, ecx
je 0x10020652
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1002063f
mov cl, byte [eax]
cmp cl, 0x28
je 0x10020650
cmp cl, 0x29
je 0x10020650
test dl, 0x10
jne 0x10020652
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10020650
cmp cl, 0x7d
jne 0x10020652
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001d1d0
jmp 0x10020851
test eax, eax
je 0x100206c3
cmp byte [esi + 0x48], 0x42
jne 0x100206c3
push 4
lea ecx, [esi + 0x24]
call fcn.10020ac0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100206b7
cmp byte [eax], 0x5c
jne 0x100206b5
inc eax
cmp eax, ecx
je 0x100206b5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100206a2
mov cl, byte [eax]
cmp cl, 0x28
je 0x100206b3
cmp cl, 0x29
je 0x100206b3
test dl, 0x10
jne 0x100206b5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100206b3
cmp cl, 0x7d
jne 0x100206b5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001d1d0
jmp 0x10020851
mov ecx, esi
call fcn.10022a10
jmp 0x1002084a
cmp eax, 0x5b
jne 0x10020774
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10020714
cmp byte [eax], 0x5c
jne 0x10020712
inc eax
cmp eax, ecx
je 0x10020712
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100206ff
mov dl, byte [eax]
cmp dl, 0x28
je 0x10020710
cmp dl, 0x29
je 0x10020710
test cl, 0x10
jne 0x10020712
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10020710
cmp cl, 0x7d
jne 0x10020712
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001d1d0
mov ecx, esi
call fcn.10022960
cmp dword [esi + 0x4c], 0x5d
jne 0x10020878
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10020768
cmp byte [eax], 0x5c
jne 0x10020766
inc eax
cmp eax, ecx
je 0x10020766
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10020753
mov dl, byte [eax]
cmp dl, 0x28
je 0x10020764
cmp dl, 0x29
je 0x10020764
test cl, 0x10
jne 0x10020766
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10020764
cmp cl, 0x7d
jne 0x10020766
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001d1d0
jmp 0x1002084a
cmp eax, 0x28
jne 0x100207d6
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100207b5
cmp byte [eax], 0x5c
jne 0x100207b3
inc eax
cmp eax, ecx
je 0x100207b3
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100207a0
mov dl, byte [eax]
cmp dl, 0x28
je 0x100207b1
cmp dl, 0x29
je 0x100207b1
test cl, 0x10
jne 0x100207b3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100207b1
cmp cl, 0x7d
jne 0x100207b3
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001d1d0
mov ecx, esi
call fcn.10022ad0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.10022900
test bl, bl
je 0x10020851
jmp 0x1002084a
cmp eax, 0x5e
jne 0x100207ee
push 2
lea ecx, [esi + 0x24]
call fcn.10020ac0
mov ecx, esi
call fcn.10020450
jmp 0x10020851
cmp eax, 0x24
jne 0x10020806
push 3
lea ecx, [esi + 0x24]
call fcn.10020ac0
mov ecx, esi
call fcn.10020450
jmp 0x10020851
cmp eax, 0x2a
je 0x10020886
cmp eax, 0x2b
je 0x10020886
cmp eax, 0x3f
je 0x10020886
cmp eax, 0x7b
je 0x10020886
cmp eax, 0x7d
jne 0x10020828
test dword [esi + 0x50], 0x10000000
je 0x1002087f
cmp eax, 0x5d
jne 0x10020836
test dword [esi + 0x50], 0x10000000
je 0x10020878
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10022cc0
mov ecx, esi
call fcn.10020450
mov ecx, esi
call fcn.10022b90
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x100204d0
mov al, cl
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
push 5
call fcn.100a72a4
push 4
call fcn.100a72a4
push 6
call fcn.100a72a4
push 0xa
call fcn.100a72a4
int3