Function at 0x41b270
Capabilities:
Parse credit card information

Disassembly:
push esi
push ebx
sub esp, 0x34
mov ebx, dword [esp + 0x40]
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x25
je 0x41b290
add esp, 0x34
pop ebx
pop esi
ret
mov edx, dword [ebx + 0xac]
inc edx
cmp edx, 0x11
jbe switch.0x0041b2e2
mov dword [esp], ebx
call fcn.00446ac0
mov dword [esp], ebx
call fcn.0041d710
mov esi, eax
mov eax, dword [0x737c14]
test eax, eax
jne 0x41b370
test esi, esi
je 0x41b459
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x3b
je 0x41b390
xor ecx, ecx
mov edx, 0x19
mov eax, ebx
call fcn.00417fb0
jmp case.0x41b2e2.2
jmp dword [edx*4 + 0x6e6e00]
mov edx, dword [ebx + 0x60]
test edx, edx
jne 0x41b2fd
cmp dword [ebx + 0x28], 1
je case.0x41b2e2.2
mov al, byte [eax + 1]
lea edx, [eax - 9]
cmp dl, 1
jbe case.0x41b2e2.2
cmp al, 0x20
je case.0x41b2e2.2
cmp al, 0xd
je case.0x41b2e2.2
test al, al
jne case.default.0x41b2e2
jmp case.0x41b2e2.2
xor ecx, ecx
mov edx, 0x13
mov eax, ebx
call fcn.00417fb0
jmp case.0x41b2e2.2
xor ecx, ecx
mov edx, 0x12
mov eax, ebx
call fcn.00417fb0
jmp case.0x41b2e2.2
xor ecx, ecx
mov edx, 0x14
mov eax, ebx
call fcn.00417fb0
jmp case.0x41b2e2.2
mov eax, dword [0x737be8]
mov dword [esp + 8], esi
mov dword [esp + 4], str.PEReference:__s_n
mov dword [esp], eax
call dword [0x6713b8]
jmp 0x41b2bb
mov dword [esp], ebx
call fcn.00446ac0
mov eax, dword [ebx]
test eax, eax
je 0x41b3db
mov eax, dword [eax + 0x60]
test eax, eax
je 0x41b3db
mov dword [esp + 4], esi
mov edx, dword [ebx + 4]
mov dword [esp], edx
call eax
mov edx, eax
test eax, eax
je 0x41b3db
mov eax, dword [ebx + 0x24]
cmp dword [eax + 0x28], 0x417890
je 0x41b435
mov eax, ebx
call fcn.00418af0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0041a2c0
jmp case.0x41b2e2.2
cmp dword [ebx + 0x1c], 1
je 0x41b549
mov eax, dword [ebx + 0x58]
test eax, eax
jne 0x41b3f7
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x41b549
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x41b530
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x41b530
mov dword [esp + 4], 0
mov dword [esp], esi
mov ecx, str.PEReference:____s__not_found_n
mov edx, 0x1b
mov eax, ebx
call fcn.00418280
mov dword [ebx + 0x64], 0
jmp case.0x41b2e2.2
mov eax, dword [edx + 0x30]
sub eax, 4
cmp eax, 1
jbe 0x41b46c
mov dword [esp], esi
mov ecx, str.PEReference:__s_is_not_a_parameter_entity_n
mov edx, 0x1e
mov eax, ebx
call fcn.00417e60
jmp case.0x41b2e2.2
xor ecx, ecx
mov edx, 0x18
mov eax, ebx
call fcn.00417fb0
jmp case.0x41b2e2.2
mov dword [esp + 4], edx
mov dword [esp], ebx
mov dword [esp + 0x1c], edx
call fcn.00447a90
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0041a2c0
mov edx, dword [esp + 0x1c]
test eax, eax
js case.0x41b2e2.2
mov eax, dword [ebx + 0x124]
test eax, eax
mov eax, dword [ebx + 0x24]
jne 0x41b4b5
mov ecx, dword [eax + 0x14]
mov esi, dword [eax + 0x10]
sub ecx, esi
cmp ecx, 0xf9
jle 0x41b5b6
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
sub eax, ecx
cmp eax, 3
jg 0x41b562
cmp dword [edx + 0x30], 5
jne case.0x41b2e2.2
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x3c
jne case.0x41b2e2.2
cmp byte [eax + 1], 0x3f
jne case.0x41b2e2.2
cmp byte [eax + 2], 0x78
jne case.0x41b2e2.2
cmp byte [eax + 3], 0x6d
jne case.0x41b2e2.2
cmp byte [eax + 4], 0x6c
jne case.0x41b2e2.2
mov al, byte [eax + 5]
lea edx, [eax - 9]
cmp dl, 1
jbe 0x41b51e
cmp al, 0x20
je 0x41b51e
cmp al, 0xd
jne case.0x41b2e2.2
mov dword [esp], ebx
call fcn.0041b000
jmp case.0x41b2e2.2
mov dword [esp], esi
mov ecx, str.PEReference:____s__not_found_n
mov edx, 0x1b
mov eax, ebx
call fcn.00419b00
jmp 0x41b429
mov dword [esp], esi
mov ecx, str.PEReference:____s__not_found_n
mov edx, 0x1a
mov eax, ebx
call fcn.00417e60
jmp case.0x41b2e2.2
mov al, byte [ecx]
mov byte [esp + 0x2c], al
mov al, byte [ecx + 1]
mov byte [esp + 0x2d], al
mov al, byte [ecx + 2]
mov byte [esp + 0x2e], al
lea eax, [esp + 0x2c]
mov cl, byte [ecx + 3]
mov dword [esp + 4], 4
mov dword [esp], eax
mov dword [esp + 0x1c], edx
mov byte [esp + 0x2f], cl
call fcn.0046ef00
mov edx, dword [esp + 0x1c]
test eax, eax
je 0x41b4c6
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00447510
mov edx, dword [esp + 0x1c]
jmp 0x41b4c6
mov eax, ebx
mov dword [esp + 0x1c], edx
call fcn.0041a230
mov eax, dword [ebx + 0x24]
mov edx, dword [esp + 0x1c]
jmp 0x41b4b5