Function at 0x465b09
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
push ebx
push esi
push edi
push 0x10
pop edi
xor ebx, ebx
lea eax, [ebp - 0x60]
push ebx
push ebx
mov dword [ebp - 4], eax
mov dword [ebp - 8], edi
call sym.stub.exe_ts_resource_ex
mov esi, dword [ebp + 0xc]
pop ecx
cmp esi, edi
pop ecx
mov dword [ebp - 0x10], eax
jle 0x465b45
push ebx
push esi
push 4
call sym.stub.exe__safe_emalloc
add esp, 0xc
mov dword [ebp - 4], eax
mov dword [ebp - 8], esi
cmp dword [ebp - 8], ebx
jle 0x465b54
mov ecx, dword [ebp - 8]
mov edi, dword [ebp - 4]
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], ebx
cmp byte [eax], bl
mov dword [ebp - 0x14], ebx
je 0x465def
mov eax, dword [ebp + 8]
inc dword [ebp + 8]
xor edi, edi
cmp byte [eax], 0x25
jne 0x465de1
mov esi, dword [ebp + 8]
inc dword [ebp + 8]
mov al, byte [esi]
cmp al, 0x25
je 0x465de1
cmp al, 0x2a
jne 0x465b9e
mov esi, dword [ebp + 8]
inc dword [ebp + 8]
push 2
pop edi
jmp 0x465c44
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x465bb9
movsx eax, al
push 4
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x465bca
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movsx eax, al
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, 4
cmp eax, ebx
je 0x465c34
lea eax, [ebp - 0x20]
push 0xa
push eax
mov eax, dword [ebp + 8]
dec eax
push eax
call dword [sym.imp.MSVCRT.dll_strtoul]
mov ecx, dword [ebp - 0x20]
add esp, 0xc
cmp byte [ecx], 0x24
jne 0x465c34
inc ecx
mov dword [ebp - 0x18], 1
mov esi, ecx
inc ecx
cmp dword [ebp - 0x1c], ebx
mov dword [ebp + 8], ecx
jne 0x465e2d
lea ecx, [eax - 1]
cmp ecx, ebx
mov dword [ebp - 0xc], ecx
jl 0x465e39
cmp dword [ebp + 0xc], ebx
je 0x465c1f
cmp ecx, dword [ebp + 0xc]
jge 0x465e39
jmp 0x465c44
cmp eax, 0xff
jg 0x465e39
cmp dword [ebp - 0x14], eax
jg 0x465c44
mov dword [ebp - 0x14], eax
jmp 0x465c44
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 1
jne 0x465e2d
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x465c5e
movzx eax, byte [esi]
push 4
push eax
call dword [sym.imp.MSVCRT.dll__isctype]
pop ecx
pop ecx
jmp 0x465c6f
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movzx eax, byte [esi]
mov ecx, dword [ecx]
mov al, byte [ecx + eax*2]
and eax, 4
cmp eax, ebx
je 0x465c90
lea eax, [ebp + 8]
push 0xa
push eax
mov eax, dword [ebp + 8]
dec eax
push eax
call dword [sym.imp.MSVCRT.dll_strtoul]
mov esi, dword [ebp + 8]
add esp, 0xc
or edi, 8
inc dword [ebp + 8]
mov al, byte [esi]
cmp al, 0x6c
je 0x465c9e
cmp al, 0x4c
je 0x465c9e
cmp al, 0x68
jne 0x465ca9
mov edx, dword [ebp + 8]
mov esi, edx
inc edx
mov dword [ebp + 8], edx
jmp 0x465cac
mov edx, dword [ebp + 8]
mov ecx, edi
and ecx, 2
jne 0x465cc3
mov eax, dword [ebp + 0xc]
cmp eax, ebx
je 0x465cc3
cmp dword [ebp - 0xc], eax
jge 0x465e34
movsx eax, byte [esi]
cmp eax, 0x69
jg 0x465d35
je 0x465d56
cmp eax, 0x44
jl 0x465e61
cmp eax, 0x45
jle 0x465d56
cmp eax, 0x58
je 0x465d56
cmp eax, 0x5b
je 0x465cff
cmp eax, 0x63
je 0x465d56
jle 0x465e61
cmp eax, 0x67
jg 0x465e61
jmp 0x465d56
cmp byte [edx], bl
je 0x465e5a
mov eax, edx
inc edx
mov dword [ebp + 8], edx
cmp byte [eax], 0x5e
jne 0x465d20
cmp byte [edx], bl
je 0x465e5a
mov eax, edx
inc edx
mov dword [ebp + 8], edx
cmp byte [edx], bl
je 0x465e5a
mov eax, edx
inc edx
mov dword [ebp + 8], edx
cmp byte [eax], 0x5d
je 0x465d56
jmp 0x465d20
cmp eax, 0x6e
jl 0x465e61
cmp eax, 0x6f
jle 0x465d56
cmp eax, 0x73
je 0x465d56
cmp eax, 0x75
je 0x465d56
cmp eax, 0x78
jne 0x465e61
cmp ecx, ebx
jne 0x465de1
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
jl 0x465dd2
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 8]
cmp eax, ebx
je 0x465d75
mov dword [ebp - 8], eax
jmp 0x465d79
add dword [ebp - 8], 0x10
lea eax, [ebp - 0x60]
push ebx
cmp dword [ebp - 4], eax
jne 0x465da9
push 4
push dword [ebp - 8]
call sym.stub.exe__safe_emalloc
add esp, 0xc
mov ecx, eax
lea eax, [ebp - 0x60]
mov dword [ebp - 4], ecx
push 0x10
sub eax, ecx
pop edx
mov edi, dword [eax + ecx]
mov dword [ecx], edi
add ecx, 4
dec edx
jne 0x465d9c
jmp 0x465dbe
mov eax, dword [ebp - 8]
shl eax, 2
push eax
push dword [ebp - 4]
call sym.stub.exe__erealloc
add esp, 0xc
mov dword [ebp - 4], eax
cmp esi, dword [ebp - 8]
jge 0x465dd2
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
sub ecx, esi
lea edi, [eax + esi*4]
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
inc dword [eax + ecx*4]
inc dword [ebp - 0xc]
lea eax, [eax + ecx*4]
mov eax, dword [ebp + 8]
cmp byte [eax], bl
jne 0x465b6b
mov esi, dword [ebp + 0xc]
cmp esi, ebx
jne 0x465dfd
mov esi, dword [ebp - 0x14]
cmp esi, ebx
jne 0x465dfd
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x465e06
mov dword [eax], esi
xor edx, edx
cmp esi, ebx
jle 0x465e9c
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
cmp eax, 1
jg 0x465e6c
cmp dword [ebp - 0x14], ebx
jne 0x465e23
cmp eax, ebx
je 0x465e73
inc edx
add ecx, 4
cmp edx, esi
jl 0x465e13
jmp 0x465e9c
push str.cannot_mix_____and___n___conversion_specifiers
jmp 0x465e3e
cmp dword [ebp - 0x18], ebx
je 0x465e53
push str.__n___argument_index_out_of_range
push 0x513c38
push 2
push dword [ebp - 0x10]
push ebx
call sym.stub.exe_php_error_docref0
add esp, 0x14
jmp 0x465e86
push str.Different_numbers_of_variable_names_and_field_specifiers
jmp 0x465e78
push str.Unmatched___in_format_string
jmp 0x465e78
movsx eax, byte [esi]
push eax
push str.Bad_scan_conversion_character___c_
jmp 0x465e43
push str.Variable_is_assigned_by_multiple___n___conversion_specifiers
jmp 0x465e3e
push str.Variable_is_not_assigned_by_any_conversion_specifiers
push 2
push dword [ebp - 0x10]
push ebx
call sym.stub.exe_php_error_docref0
add esp, 0x10
lea eax, [ebp - 0x60]
cmp dword [ebp - 4], eax
je 0x465e97
push dword [ebp - 4]
call sym.stub.exe__efree
pop ecx
push 0xfffffffffffffffe
pop eax
jmp 0x465eaf
lea eax, [ebp - 0x60]
cmp dword [ebp - 4], eax
je 0x465ead
push dword [ebp - 4]
call sym.stub.exe__efree
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret