Function at 0x100209b0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x10020e56
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x10020e54
cmp eax, 0x29
jne 0x100209f0
cmp dword [esi + 0x10], 0
jne 0x10020e54
test dword [esi + 0x50], 0x10000000
je 0x10020e63
jmp 0x10020de7
cmp eax, 0x2e
jne 0x10020a4b
push 5
lea ecx, [esi + 0x24]
call fcn.1000c640
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10020e35
cmp word [eax], 0x5c
jne 0x10020a41
lea ecx, [eax + 2]
cmp ecx, edx
je 0x10020a41
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10020a2d
movzx edx, word [ecx]
cmp edx, 0x28
je 0x10020a3f
cmp edx, 0x29
je 0x10020a3f
test bl, 0x10
jne 0x10020a41
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x10020a3f
cmp edx, 0x7d
jne 0x10020a41
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x10020e35
cmp eax, 0x5c
jne 0x10020b7f
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10020a97
cmp word [eax], 0x5c
jne 0x10020a92
lea ecx, [eax + 2]
cmp ecx, edx
je 0x10020a92
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10020a7e
movzx edx, word [ecx]
cmp edx, 0x28
je 0x10020a90
cmp edx, 0x29
je 0x10020a90
test bl, 0x10
jne 0x10020a92
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x10020a90
cmp edx, 0x7d
jne 0x10020a92
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10024b40
test byte [esi + 0x50], 0x80
je 0x10020b73
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x10020b0c
push 4
lea ecx, [esi + 0x24]
call fcn.1000c640
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10020b00
cmp word [eax], 0x5c
jne 0x10020afb
lea ecx, [eax + 2]
cmp ecx, edx
je 0x10020afb
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10020ae7
movzx edx, word [ecx]
cmp edx, 0x28
je 0x10020af9
cmp edx, 0x29
je 0x10020af9
test bl, 0x10
jne 0x10020afb
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x10020af9
cmp edx, 0x7d
jne 0x10020afb
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10024b40
jmp 0x10020e46
cmp ecx, 0x42
jne 0x10020b73
push 4
lea ecx, [esi + 0x24]
call fcn.1000c640
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10020b67
cmp word [eax], 0x5c
jne 0x10020b62
lea ecx, [eax + 2]
cmp ecx, edx
je 0x10020b62
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10020b4e
movzx eax, word [ecx]
cmp eax, 0x28
je 0x10020b60
cmp eax, 0x29
je 0x10020b60
mov eax, dword [esi]
test dl, 0x10
jne 0x10020b62
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x10020b60
cmp edx, 0x7d
jne 0x10020b62
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10024b40
jmp 0x10020e46
mov ecx, esi
call fcn.10020e80
jmp 0x10020e3c
cmp eax, 0x5b
jne 0x10020c6f
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10020bcd
cmp word [eax], 0x5c
jne 0x10020bc8
lea ecx, [eax + 2]
cmp ecx, edx
je 0x10020bc8
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10020bb4
movzx eax, word [ecx]
cmp eax, 0x28
je 0x10020bc6
cmp eax, 0x29
je 0x10020bc6
mov eax, dword [esi]
test dl, 0x10
jne 0x10020bc8
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x10020bc6
cmp edx, 0x7d
jne 0x10020bc8
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10024b40
lea ecx, [esi + 0x24]
call fcn.10020200
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x10020c3a
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10020c30
cmp word [eax], 0x5c
jne 0x10020c2b
lea ecx, [eax + 2]
cmp ecx, edx
je 0x10020c2b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10020c17
movzx eax, word [ecx]
cmp eax, 0x28
je 0x10020c29
cmp eax, 0x29
je 0x10020c29
mov eax, dword [esi]
test dl, 0x10
jne 0x10020c2b
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x10020c29
cmp edx, 0x7d
jne 0x10020c2b
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10024b40
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x10020c58
cmp eax, 0x5d
jne 0x10020c58
push eax
lea ecx, [esi + 0x24]
call fcn.10020180
mov ecx, esi
call fcn.10024700
mov ecx, esi
call fcn.100215c0
push 4
push 0x5d
mov ecx, esi
call fcn.10023470
jmp 0x10020e3c
cmp eax, 0x28
jne 0x10020ce1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10020cb9
cmp word [eax], 0x5c
jne 0x10020cb4
lea ecx, [eax + 2]
cmp ecx, edx
je 0x10020cb4
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10020ca0
movzx eax, word [ecx]
cmp eax, 0x28
je 0x10020cb2
cmp eax, 0x29
je 0x10020cb2
mov eax, dword [esi]
test dl, 0x10
jne 0x10020cb4
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x10020cb2
cmp edx, 0x7d
jne 0x10020cb4
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10024b40
mov ecx, esi
call fcn.10024d20
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.10023470
test bl, bl
je 0x10020e46
jmp 0x10020e3c
cmp eax, 0x5e
jne 0x10020d41
push 2
lea ecx, [esi + 0x24]
call fcn.1000c640
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10020d35
cmp word [eax], 0x5c
jne 0x10020d30
lea ecx, [eax + 2]
cmp ecx, edx
je 0x10020d30
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10020d1c
movzx eax, word [ecx]
cmp eax, 0x28
je 0x10020d2e
cmp eax, 0x29
je 0x10020d2e
mov eax, dword [esi]
test dl, 0x10
jne 0x10020d30
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x10020d2e
cmp edx, 0x7d
jne 0x10020d30
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10024b40
jmp 0x10020e46
cmp eax, 0x24
jne 0x10020d9d
push 3
lea ecx, [esi + 0x24]
call fcn.1000c640
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10020d91
cmp word [eax], 0x5c
jne 0x10020d8e
add eax, 2
cmp eax, ecx
je 0x10020d8e
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10020d7a
movzx edx, word [eax]
cmp edx, 0x28
je 0x10020d8c
cmp edx, 0x29
je 0x10020d8c
test cl, 0x10
jne 0x10020d8e
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x10020d8c
cmp ecx, 0x7d
jne 0x10020d8e
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10024b40
jmp 0x10020e46
cmp eax, 0x2a
je 0x10020e5a
cmp eax, 0x2b
je 0x10020e5a
cmp eax, 0x3f
je 0x10020e5a
cmp eax, 0x7b
je 0x10020e5a
cmp eax, 0x7d
jne 0x10020dd5
test dword [esi + 0x50], 0x10000000
je 0x10020e6c
jmp 0x10020de7
cmp eax, 0x5d
jne 0x10020de7
test dword [esi + 0x50], 0x10000000
je 0x10020e75
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1001ffb0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10020e35
cmp word [eax], 0x5c
jne 0x10020e32
add eax, 2
cmp eax, ecx
je 0x10020e32
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10020e1e
movzx edx, word [eax]
cmp edx, 0x28
je 0x10020e30
cmp edx, 0x29
je 0x10020e30
test cl, 0x10
jne 0x10020e32
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x10020e30
cmp ecx, 0x7d
jne 0x10020e32
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10024b40
mov ecx, esi
call fcn.10024750
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x100209c6
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.1000ba40
push 5
mov ecx, esi
call fcn.1000ba40
push 6
mov ecx, esi
call fcn.1000ba40
push 4
mov ecx, esi
call fcn.1000ba40
int3