Function at 0x45820a
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x25
jne case.0x458231.2
mov edx, dword [ebx + 0xac]
inc edx
cmp edx, 0x11
ja case.default.0x458231
jmp dword [edx*4 + 0x6531bc]
xor ecx, ecx
mov edx, 0x12
jmp 0x45849f
xor ecx, ecx
mov edx, 0x13
jmp 0x45849f
xor ecx, ecx
mov edx, 0x14
jmp 0x45849f
cmp dword [ebx + 0x60], 0
jne 0x45826c
cmp dword [ebx + 0x28], 1
je case.0x458231.2
mov al, byte [eax + 1]
lea edx, [eax - 9]
cmp dl, 1
jbe case.0x458231.2
cmp al, 0x20
je case.0x458231.2
cmp al, 0xd
je case.0x458231.2
test al, al
je case.0x458231.2
mov dword [esp], ebx
call fcn.0047b003
mov dword [esp], ebx
call fcn.00459ca8
cmp dword [0x696e04], 0
mov esi, eax
je 0x4582c8
mov dword [esp + 8], eax
mov eax, dword [0x696e30]
mov dword [esp + 4], str.PEReference:__s_n
mov dword [esp], eax
call dword [0x5dd298]
test esi, esi
jne 0x4582d8
xor ecx, ecx
mov edx, 0x18
jmp 0x45849f
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x3b
jne 0x458498
mov dword [esp], ebx
call fcn.0047b003
mov eax, dword [ebx]
test eax, eax
je 0x45830e
mov eax, dword [eax + 0x60]
test eax, eax
je 0x45830e
mov dword [esp + 4], esi
mov edx, dword [ebx + 4]
mov dword [esp], edx
call eax
mov edi, eax
test eax, eax
jne 0x45837c
cmp dword [ebx + 0x1c], 1
je 0x458320
cmp dword [ebx + 0x58], 0
jne 0x458332
cmp dword [ebx + 0x5c], 0
jne 0x458332
mov dword [esp], esi
mov ecx, str.PEReference:____s__not_found_n
mov edx, 0x1a
jmp 0x45848f
cmp dword [ebx + 0x68], 0
je 0x458354
cmp dword [ebx + 0x70], 0
je 0x458354
mov ecx, str.PEReference:____s__not_found_n
mov edx, 0x1b
mov eax, ebx
mov dword [esp], esi
call fcn.0045652a
jmp 0x458370
mov ecx, str.PEReference:____s__not_found_n
mov edx, 0x1b
mov eax, ebx
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.00455ecb
mov dword [ebx + 0x64], 0
jmp case.0x458231.2
mov eax, dword [ebx + 0x24]
cmp dword [eax + 0x28], 0x4551c5
je 0x4583a2
mov edx, edi
mov eax, ebx
call fcn.00457282
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00456e7d
jmp case.0x458231.2
mov eax, dword [edi + 0x30]
sub eax, 4
cmp eax, 1
ja 0x458482
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00479f68
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00456e7d
cmp dword [ebx + 0x124], 0
jne 0x4583e9
mov edx, dword [ebx + 0x24]
mov eax, dword [edx + 0x14]
sub eax, dword [edx + 0x10]
cmp eax, 0xf9
jg 0x4583e9
mov eax, ebx
call fcn.00456e34
mov eax, dword [ebx + 0x24]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
sub edx, ecx
cmp edx, 3
jle 0x45843c
mov dl, byte [ecx]
mov byte [ebp - 0x1c], dl
mov edx, dword [eax + 0x10]
mov dl, byte [edx + 1]
mov byte [ebp - 0x1b], dl
mov edx, dword [eax + 0x10]
mov dl, byte [edx + 2]
mov byte [ebp - 0x1a], dl
mov eax, dword [eax + 0x10]
mov al, byte [eax + 3]
mov dword [esp + 4], 4
mov byte [ebp - 0x19], al
lea eax, [ebp - 0x1c]
mov dword [esp], eax
call fcn.00495b10
test eax, eax
je 0x45843c
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0047a9c6
cmp dword [edi + 0x30], 5
jne case.0x458231.2
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x3c
jne case.0x458231.2
cmp byte [eax + 1], 0x3f
jne case.0x458231.2
cmp byte [eax + 2], 0x78
jne case.0x458231.2
cmp byte [eax + 3], 0x6d
jne case.0x458231.2
cmp byte [eax + 4], 0x6c
jne case.0x458231.2
mov al, byte [eax + 5]
lea edx, [eax - 9]
cmp dl, 1
jbe 0x458478
cmp al, 0x20
je 0x458478
cmp al, 0xd
jne case.0x458231.2
mov dword [esp], ebx
call fcn.0045b462
jmp case.0x458231.2
mov dword [esp], esi
mov ecx, str.PEReference:__s_is_not_a_parameter_entity_n
mov edx, 0x1e
mov eax, ebx
call fcn.00455d2a
jmp case.0x458231.2
xor ecx, ecx
mov edx, 0x19
mov eax, ebx
call fcn.00455def
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret