Function at 0x100200c0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d1c9b
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 0x1002047f
jmp 0x100200f0
cmp eax, 0x7c
je 0x1002047f
cmp eax, 0x29
jne 0x10020115
cmp dword [esi + 0x10], 0
jne 0x1002047f
test dword [esi + 0x50], 0x10000000
je 0x10020491
cmp eax, 0x2e
jne 0x100201d2
push 0x14
call fcn.100abac1
mov ecx, eax
add esp, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
test ecx, ecx
je 0x1002015c
mov dword [ecx], 0x100fc5c0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x1002015e
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 0x10020181
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 0x100201c6
cmp byte [eax], 0x5c
jne 0x100201c4
inc eax
cmp eax, ecx
je 0x100201c4
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100201b1
mov dl, byte [eax]
cmp dl, 0x28
je 0x100201c2
cmp dl, 0x29
je 0x100201c2
test cl, 0x10
jne 0x100201c4
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100201c2
cmp cl, 0x7d
jne 0x100201c4
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001cd90
jmp 0x1002046a
cmp eax, 0x5c
jne 0x100202ef
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10020217
cmp byte [eax], 0x5c
jne 0x10020215
inc eax
cmp eax, ecx
je 0x10020215
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10020202
mov dl, byte [eax]
cmp dl, 0x28
je 0x10020213
cmp dl, 0x29
je 0x10020213
test cl, 0x10
jne 0x10020215
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10020213
cmp cl, 0x7d
jne 0x10020215
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001cd90
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x10020280
cmp byte [esi + 0x48], 0x62
jne 0x10020280
push 4
lea ecx, [esi + 0x24]
call fcn.100206e0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10020274
cmp byte [eax], 0x5c
jne 0x10020272
inc eax
cmp eax, ecx
je 0x10020272
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1002025f
mov cl, byte [eax]
cmp cl, 0x28
je 0x10020270
cmp cl, 0x29
je 0x10020270
test dl, 0x10
jne 0x10020272
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10020270
cmp cl, 0x7d
jne 0x10020272
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001cd90
jmp 0x10020471
test eax, eax
je 0x100202e3
cmp byte [esi + 0x48], 0x42
jne 0x100202e3
push 4
lea ecx, [esi + 0x24]
call fcn.100206e0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100202d7
cmp byte [eax], 0x5c
jne 0x100202d5
inc eax
cmp eax, ecx
je 0x100202d5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100202c2
mov cl, byte [eax]
cmp cl, 0x28
je 0x100202d3
cmp cl, 0x29
je 0x100202d3
test dl, 0x10
jne 0x100202d5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100202d3
cmp cl, 0x7d
jne 0x100202d5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001cd90
jmp 0x10020471
mov ecx, esi
call fcn.10022690
jmp 0x1002046a
cmp eax, 0x5b
jne 0x10020394
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10020334
cmp byte [eax], 0x5c
jne 0x10020332
inc eax
cmp eax, ecx
je 0x10020332
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1002031f
mov dl, byte [eax]
cmp dl, 0x28
je 0x10020330
cmp dl, 0x29
je 0x10020330
test cl, 0x10
jne 0x10020332
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10020330
cmp cl, 0x7d
jne 0x10020332
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001cd90
mov ecx, esi
call fcn.100225e0
cmp dword [esi + 0x4c], 0x5d
jne 0x10020498
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10020388
cmp byte [eax], 0x5c
jne 0x10020386
inc eax
cmp eax, ecx
je 0x10020386
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10020373
mov dl, byte [eax]
cmp dl, 0x28
je 0x10020384
cmp dl, 0x29
je 0x10020384
test cl, 0x10
jne 0x10020386
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10020384
cmp cl, 0x7d
jne 0x10020386
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001cd90
jmp 0x1002046a
cmp eax, 0x28
jne 0x100203f6
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100203d5
cmp byte [eax], 0x5c
jne 0x100203d3
inc eax
cmp eax, ecx
je 0x100203d3
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100203c0
mov dl, byte [eax]
cmp dl, 0x28
je 0x100203d1
cmp dl, 0x29
je 0x100203d1
test cl, 0x10
jne 0x100203d3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100203d1
cmp cl, 0x7d
jne 0x100203d3
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1001cd90
mov ecx, esi
call fcn.10022750
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.10022580
test bl, bl
je 0x10020471
jmp 0x1002046a
cmp eax, 0x5e
jne 0x1002040e
push 2
lea ecx, [esi + 0x24]
call fcn.100206e0
mov ecx, esi
call fcn.10020070
jmp 0x10020471
cmp eax, 0x24
jne 0x10020426
push 3
lea ecx, [esi + 0x24]
call fcn.100206e0
mov ecx, esi
call fcn.10020070
jmp 0x10020471
cmp eax, 0x2a
je 0x100204a6
cmp eax, 0x2b
je 0x100204a6
cmp eax, 0x3f
je 0x100204a6
cmp eax, 0x7b
je 0x100204a6
cmp eax, 0x7d
jne 0x10020448
test dword [esi + 0x50], 0x10000000
je 0x1002049f
cmp eax, 0x5d
jne 0x10020456
test dword [esi + 0x50], 0x10000000
je 0x10020498
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10022940
mov ecx, esi
call fcn.10020070
mov ecx, esi
call fcn.10022810
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x100200f0
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.100a7107
push 4
call fcn.100a7107
push 6
call fcn.100a7107
push 0xa
call fcn.100a7107
int3