Function at 0x42b82f
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 0x24]
mov eax, dword [edx + 0x10]
cmp byte [eax], 0x25
jne case.0x42b854.2
mov eax, dword [ebx + 0xac]
inc eax
cmp eax, 0x11
ja case.default.0x42b854
jmp dword [eax*4 + 0x63f378]
push 0
mov edx, 0x12
jmp 0x42b874
push 0
mov edx, 0x13
jmp 0x42b874
push 0
mov edx, 0x14
mov eax, ebx
call fcn.00428ea9
jmp case.0x42b854.2
cmp dword [ebx + 0x60], 0
jne 0x42b890
cmp dword [ebx + 0x28], 1
je case.0x42b854.2
mov eax, dword [edx + 0x10]
mov cl, byte [eax + 1]
cmp cl, 0x20
lea eax, [ecx - 9]
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne case.0x42b854.2
cmp cl, 0xd
je case.0x42b854.2
test cl, cl
je case.0x42b854.2
push ebx
call fcn.0044aa83
push ebx
call fcn.0042db23
pop edi
mov esi, eax
cmp dword [0x667d00], 0
pop eax
je 0x42b8ed
push esi
push str.PEReference:__s_n
push dword [0x667cd4]
call dword [0x4fa8b8]
add esp, 0xc
test esi, esi
jne 0x42b8fd
push 0
mov edx, 0x18
jmp 0x42baaa
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x3b
jne 0x42baa3
push ebx
call fcn.0044aa83
mov eax, dword [ebx]
pop ecx
test eax, eax
je 0x42b92e
cmp dword [eax + 0x60], 0
je 0x42b92e
push esi
push dword [ebx + 4]
call dword [eax + 0x60]
mov edi, eax
pop eax
test edi, edi
pop edx
jne 0x42b995
cmp dword [ebx + 0x1c], 1
je 0x42b940
cmp dword [ebx + 0x58], 0
jne 0x42b950
cmp dword [ebx + 0x5c], 0
jne 0x42b950
push esi
mov edx, 0x1a
push str.PEReference:____s__not_found_n
jmp 0x42ba98
cmp dword [ebx + 0x68], 0
je 0x42b972
cmp dword [ebx + 0x70], 0
je 0x42b972
mov eax, ebx
mov edx, 0x1b
push esi
push str.PEReference:____s__not_found_n
call fcn.004291fa
pop edi
pop eax
jmp 0x42b989
push 0
mov edx, 0x1b
push esi
mov eax, ebx
push str.PEReference:____s__not_found_n
call fcn.0042918c
add esp, 0xc
mov dword [ebx + 0x64], 0
jmp case.0x42b854.2
mov eax, dword [ebx + 0x24]
cmp dword [eax + 0x28], 0x429d0f
je 0x42b9b6
mov edx, edi
mov eax, ebx
call fcn.00429d1b
push eax
push ebx
call fcn.00429c7e
jmp 0x42ba9f
mov eax, dword [edi + 0x30]
sub eax, 4
cmp eax, 1
ja 0x42ba8d
push edi
push ebx
call fcn.0044b7d3
push eax
push ebx
call fcn.00429c7e
add esp, 0x10
cmp dword [ebx + 0x124], 0
jne 0x42b9f6
mov edx, dword [ebx + 0x24]
mov eax, dword [edx + 0x14]
sub eax, dword [edx + 0x10]
cmp eax, 0xf9
jg 0x42b9f6
mov eax, ebx
call fcn.00429c0a
mov edx, dword [ebx + 0x24]
mov eax, dword [edx + 0x14]
mov ecx, dword [edx + 0x10]
sub eax, ecx
cmp eax, 3
jle 0x42ba40
mov al, byte [ecx]
mov byte [ebp - 0x10], al
mov eax, dword [edx + 0x10]
mov al, byte [eax + 1]
mov byte [ebp - 0xf], al
mov eax, dword [edx + 0x10]
mov al, byte [eax + 2]
mov byte [ebp - 0xe], al
mov eax, dword [edx + 0x10]
mov al, byte [eax + 3]
push 4
mov byte [ebp - 0xd], al
lea eax, [ebp - 0x10]
push eax
call fcn.00475e0b
pop ecx
test eax, eax
pop esi
je 0x42ba40
push eax
push ebx
call fcn.0044b4fd
pop eax
pop edx
cmp dword [edi + 0x30], 5
jne case.0x42b854.2
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x3c
jne case.0x42b854.2
cmp byte [eax + 1], 0x3f
jne case.0x42b854.2
cmp byte [eax + 2], 0x78
jne case.0x42b854.2
cmp byte [eax + 3], 0x6d
jne case.0x42b854.2
cmp byte [eax + 4], 0x6c
jne case.0x42b854.2
mov cl, byte [eax + 5]
cmp cl, 0x20
lea eax, [ecx - 9]
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x42ba85
cmp cl, 0xd
jne case.0x42b854.2
push ebx
call fcn.0042b609
jmp 0x42bab1
push esi
mov edx, 0x1e
push str.PEReference:__s_is_not_a_parameter_entity_n
mov eax, ebx
call fcn.0042934c
pop esi
pop edi
jmp case.0x42b854.2
push 0
mov edx, 0x19
mov eax, ebx
call fcn.00428ea9
pop ebx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret