Function at 0x4204dc
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [eax]
mov ecx, dword [eax + 0x86b8]
sub esp, 0x10
push ebx
push esi
push edi
mov edi, dword [eax + 0x128]
mov al, byte [ecx]
mov esi, ecx
call fcn.004202f5
test eax, eax
je 0x42053d
inc esi
mov al, byte [esi]
call fcn.004202f5
test eax, eax
jne 0x420500
cmp esi, ecx
je 0x42053d
mov eax, esi
jbe 0x42051d
cmp byte [esi - 1], 0x2f
jne 0x42051d
lea eax, [esi - 1]
push 1
xor ebx, ebx
lea edx, [edi + 4]
push ebx
push edx
sub eax, ecx
call fcn.00420902
add esp, 0xc
cmp eax, ebx
je 0x42068a
jmp 0x42070b
xor ebx, ebx
mov dword [edi + 4], ebx
jmp 0x42068a
inc esi
mov al, byte [esi]
mov ecx, esi
cmp al, bl
je 0x4206d9
cmp al, 0x3d
je 0x42055f
inc esi
mov al, byte [esi]
cmp al, bl
jne 0x420554
cmp byte [esi], bl
je 0x4206d9
push 1
lea eax, [ebp - 4]
push ebx
push eax
mov eax, esi
sub eax, ecx
call fcn.00420902
add esp, 0xc
cmp eax, ebx
jne 0x42070b
inc esi
mov ecx, esi
jmp 0x420588
inc esi
mov al, byte [esi]
call fcn.004202f5
test eax, eax
jne 0x420587
push 1
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
mov eax, esi
sub eax, ecx
call fcn.00420902
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp eax, ebx
jne 0x4206a7
mov edx, dword [ebp - 4]
mov eax, str.UIDVALIDITY
call fcn.00424b21
test eax, eax
je 0x4205e7
cmp dword [edi + 8], ebx
jne 0x4205e7
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
cmp eax, ebx
jbe 0x4205df
lea eax, [ecx + eax - 1]
cmp byte [eax], 0x2f
jne 0x4205df
mov byte [eax], bl
mov dword [edi + 8], ecx
jmp 0x420675
mov edx, dword [ebp - 4]
mov eax, 0x4e13e0
call fcn.00424b21
test eax, eax
je 0x420617
cmp dword [edi + 0xc], ebx
jne 0x420617
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
cmp eax, ebx
jbe 0x420612
lea eax, [ecx + eax - 1]
cmp byte [eax], 0x2f
jne 0x420612
mov byte [eax], bl
mov dword [edi + 0xc], ecx
jmp 0x420675
mov edx, dword [ebp - 4]
mov eax, str.SECTION
call fcn.00424b21
test eax, eax
je 0x420647
cmp dword [edi + 0x10], ebx
jne 0x420647
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
cmp eax, ebx
jbe 0x420642
lea eax, [ecx + eax - 1]
cmp byte [eax], 0x2f
jne 0x420642
mov byte [eax], bl
mov dword [edi + 0x10], ecx
jmp 0x420675
mov edx, dword [ebp - 4]
mov eax, str.PARTIAL
call fcn.00424b21
test eax, eax
je 0x4206bb
cmp dword [edi + 0x14], ebx
jne 0x4206bb
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
cmp eax, ebx
jbe 0x420672
lea eax, [ecx + eax - 1]
cmp byte [eax], 0x2f
jne 0x420672
mov byte [eax], bl
mov dword [edi + 0x14], ecx
mov dword [ebp - 8], ebx
cmp dword [ebp - 4], ebx
je 0x42068a
push dword [ebp - 4]
call dword [0x4fb068]
pop ecx
mov dword [ebp - 4], ebx
cmp byte [esi], 0x3b
je 0x420547
cmp dword [edi + 4], ebx
je 0x420701
cmp dword [edi + 0xc], ebx
jne 0x420701
cmp byte [esi], 0x3f
jne 0x420701
inc esi
mov ecx, esi
jmp 0x4206df
cmp dword [ebp - 4], ebx
je 0x4206b6
push dword [ebp - 4]
call dword [0x4fb068]
pop ecx
mov eax, dword [ebp - 0x10]
jmp 0x42070b
cmp dword [ebp - 4], ebx
je 0x4206ca
push dword [ebp - 4]
call dword [0x4fb068]
pop ecx
cmp dword [ebp - 8], ebx
je 0x4206d9
push dword [ebp - 8]
call dword [0x4fb068]
pop ecx
push 3
pop eax
jmp 0x42070b
inc esi
mov al, byte [esi]
call fcn.004202f5
test eax, eax
jne 0x4206de
push 1
push ebx
add edi, 0x18
mov eax, esi
push edi
sub eax, ecx
call fcn.00420902
add esp, 0xc
cmp eax, ebx
jne 0x42070b
movsx eax, byte [esi]
neg eax
sbb eax, eax
and eax, 3
pop edi
pop esi
pop ebx
leave
ret