Function at 0x749380
Capabilities:
Parse credit card information

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x9c
mov dword [esp + 0x14], edx
call fcn.00747b90
test eax, eax
jne 0x7494f7
mov edi, eax
mov eax, dword [ebx + 0x9c]
mov dword [esp], ebx
call dword [eax + 0x1a4]
mov ebp, dword [sym.imp.msvcrt.dll_tolower]
movzx eax, al
mov dword [esp], eax
call ebp
mov byte [esp + 0x18], al
mov esi, eax
mov eax, dword [ebx + 0xec]
test eax, eax
je 0x749740
mov edx, dword [ebx + 0xf8]
lea ecx, [edx + 1]
mov dword [ebx + 0xf8], ecx
mov ecx, esi
mov byte [eax + edx], cl
cmp esi, 0x3b
jg 0x749508
cmp esi, 0x1f
jle 0x749760
lea ecx, [esi - 0x20]
mov eax, 1
shl eax, cl
test eax, 0x8009001
jne 0x74971d
cmp esi, 0x21
je 0x749710
cmp esi, 0x2e
jne 0x749770
mov eax, dword [ebx + 0x9c]
mov dword [esp], ebx
call dword [eax + 0x1a4]
movzx eax, al
mov dword [esp], eax
call ebp
cmp eax, 0x66
je 0x749a68
cmp eax, 0x74
je 0x749950
test byte [ebx + 0xc9], 2
jne 0x7497d2
mov edx, dword [ebx + 0xe4]
test edx, edx
je 0x749481
mov dword [esp], edx
mov dword [esp + 0x14], eax
call fcn.00719704
mov eax, dword [esp + 0x14]
mov dword [ebx + 0xe4], 0
mov dword [ebx + 0xdc], 0
cmp eax, 0xa
jne 0x7497b0
lea esi, [esi]
mov eax, dword [ebx + 0xa0]
lea esi, [esp + 0x2c]
mov dword [esp + 8], str.Bad_logical_value_while_reading_item__d
mov dword [esp + 4], 0x64
mov dword [esp + 0xc], eax
mov dword [esp], esi
call fcn.0070b5d0
mov eax, dword [ebx + 0xec]
and byte [ebx + 0xc9], 0xef
mov dword [ebx + 0xf8], 0
test eax, eax
je 0x7494e3
mov dword [esp], eax
call fcn.00719704
mov dword [ebx + 0xec], 0
mov dword [esp + 8], esi
mov dword [esp + 4], 0x1392
mov dword [esp], ebx
call fcn.0072a8c0
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp esi, 0x66
je 0x749580
cmp esi, 0x74
jne 0x749770
mov eax, dword [ebx + 0x9c]
mov dword [esp], ebx
call dword [eax + 0x1a4]
mov esi, eax
mov eax, dword [ebx + 0xec]
test eax, eax
je 0x749abf
mov edx, dword [ebx + 0xf8]
lea ecx, [edx + 1]
mov dword [ebx + 0xf8], ecx
mov ecx, esi
mov byte [eax + edx], cl
lea eax, [esi - 0x2c]
cmp eax, 0xf
jbe 0x749830
lea eax, [esi - 9]
cmp eax, 0x17
ja 0x74996b
mov edx, 0xff7fffec
bt edx, eax
jae 0x74983e
mov edi, 1
jmp 0x7495e0
mov eax, dword [ebx + 0x9c]
mov dword [esp], ebx
call dword [eax + 0x1a4]
mov esi, eax
mov eax, dword [ebx + 0xec]
test eax, eax
je 0x749aa0
mov edx, dword [ebx + 0xf8]
lea ecx, [edx + 1]
mov dword [ebx + 0xf8], ecx
mov ecx, esi
mov byte [eax + edx], cl
lea eax, [esi - 0x2c]
cmp eax, 0xf
jbe 0x749910
lea eax, [esi - 9]
cmp eax, 0x17
ja 0x749990
mov edx, 0xff7fffec
bt edx, eax
jae 0x74991e
lea esi, [esi]
mov dword [esp + 0x18], edi
mov ebp, 0x3f
jmp 0x749639
cmp eax, 0xa
jg 0x7499b0
cmp eax, 8
jg 0x7499b9
mov eax, dword [ebx + 0xec]
mov edi, esi
test eax, eax
je 0x7496b7
mov edx, dword [ebx + 0xf8]
lea ecx, [edx + 1]
mov dword [ebx + 0xf8], ecx
mov ecx, esi
mov byte [eax + edx], cl
lea esi, [esi]
lea esi, [esi]
sub ebp, 1
je 0x749aed
mov eax, dword [ebx + 0x9c]
mov dword [esp], ebx
call dword [eax + 0x1a4]
mov esi, eax
cmp eax, 0x3b
jg 0x749a83
cmp eax, 0x1f
jle 0x7495f0
lea eax, [eax - 0x20]
mov edi, 0x8009001
bt edi, eax
jb 0x7499b9
test byte [ebx + 0xc9], 2
je 0x749602
cmp esi, 0x21
jne 0x749602
mov eax, dword [ebx + 0x9c]
mov dword [eax + 0x1c0], esi
mov eax, ebx
call fcn.0073ccc0
mov eax, dword [ebx + 0x9c]
mov dword [esp], ebx
call dword [eax + 0x1a4]
mov esi, eax
cmp eax, 0x3d
jne 0x749b63
mov eax, dword [ebx + 0xec]
test eax, eax
jne 0x749ade
mov edi, 0x3d
mov dword [esp + 4], 1
mov dword [esp], 0x12c
call fcn.00738d00
mov dword [ebx + 0xec], eax
mov edx, eax
mov eax, dword [ebx + 0xf8]
lea ecx, [eax + 1]
mov dword [ebx + 0xf8], ecx
mov ecx, edi
mov byte [edx + eax], cl
cmp esi, 0x3d
jne 0x749630
or byte [ebx + 0xc9], 0x14
mov dword [ebx + 0xf8], 0
jmp 0x7494f7
test byte [ebx + 0xc9], 2
je 0x749a30
mov eax, dword [ebx + 0x9c]
mov dword [eax + 0x1c0], esi
add esp, 0x9c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0073ccc0
mov dword [esp + 4], 1
mov dword [esp], 0x12c
call fcn.00738d00
mov dword [ebx + 0xec], eax
jmp 0x7493d0
cmp esi, 0xa
jg 0x749940
cmp esi, 8
jg 0x74971d
nop
mov edx, dword [ebx + 0x9c]
mov dword [edx + 0x1c0], esi
test byte [ebx + 0xc9], 2
jne 0x7497dc
mov eax, dword [ebx + 0xe4]
test eax, eax
je 0x7497b6
mov dword [esp], eax
call fcn.00719704
mov dword [ebx + 0xe4], 0
mov dword [ebx + 0xdc], 0
lea esi, [esi]
nop
mov edx, dword [ebx + 0x9c]
mov dword [esp], ebx
call dword [edx + 0x1a4]
cmp eax, 0xffffffff
je 0x749490
cmp eax, 0xa
jne 0x7497b0
jmp 0x749490
mov byte [esp + 0x18], al
mov edx, dword [ebx + 0x9c]
or byte [ebx + 0xc9], 4
movsx eax, byte [esp + 0x18]
mov dword [edx + 0x1c0], eax
nop
mov eax, dword [ebx + 0xec]
and byte [ebx + 0xc9], 0xef
mov dword [ebx + 0xf8], 0
test eax, eax
je 0x7494f7
mov dword [esp], eax
call fcn.00719704
mov dword [ebx + 0xec], 0
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, 0xffff7ff6
bt edx, eax
jb 0x74956f
mov edx, dword [ebx + 0x9c]
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], 0
mov dword [edx + 0x1c0], esi
mov eax, dword [esp + 0x14]
mov esi, 0xff7fffec
mov dword [ebx + 0xe0], 2
mov dword [ebx + 0xd8], eax
lea esi, [esi]
nop
mov dword [esp], ebx
call dword [edx + 0x1a4]
cmp eax, 0xffffffff
je 0x749900
cmp eax, 0x2f
je 0x749900
cmp eax, 0x2c
je 0x749900
mov edx, dword [ebx + 0x9c]
lea ecx, [eax - 9]
mov edi, edx
cmp ecx, 0x17
jbe 0x7498f0
cmp eax, 0x3b
je 0x7498b8
test byte [ebx + 0xc9], 2
je 0x749878
cmp eax, 0x21
jne 0x749878
lea esi, [esi]
nop
mov dword [edi + 0x1c0], eax
mov eax, ebx
call fcn.0073ccc0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea eax, [ebx + 0xfc]
mov dword [esp], eax
call fcn.00736810
jmp 0x7497f0
bt esi, ecx
jb 0x749878
jmp 0x7498b8
mov edi, dword [ebx + 0x9c]
jmp 0x7498b8
mov edx, 0xffff7ff6
bt edx, eax
jb 0x7495e0
mov edx, dword [ebx + 0x9c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [edx + 0x1c0], esi
jmp 0x74985a
cmp esi, 0xd
je 0x74971d
jmp 0x749770
mov dword [esp + 0x18], 1
mov edx, dword [ebx + 0x9c]
mov dword [esp + 0x1c], 0
jmp 0x74985a
test byte [ebx + 0xc9], 2
je 0x74997d
cmp esi, 0x21
je 0x74983e
cmp esi, 0xffffffff
je 0x74983e
jmp 0x74956f
test byte [ebx + 0xc9], 2
je 0x74999e
cmp esi, 0x21
je 0x74991e
cmp esi, 0xffffffff
je 0x74991e
jmp 0x7495e0
cmp eax, 0xd
jne 0x749602
test byte [ebx + 0xc9], 2
jne 0x749677
mov edi, dword [esp + 0x18]
mov dword [ebx + 0xe0], 2
mov eax, dword [esp + 0x14]
mov dword [ebx + 0xd8], eax
mov dword [esp + 0xc], eax
lea eax, [ebx + 0xfc]
mov dword [esp + 4], edi
sar edi, 0x1f
mov dword [esp], eax
mov dword [esp + 8], edi
call fcn.00736810
mov eax, dword [ebx + 0xe4]
test eax, eax
je 0x7497f0
mov dword [esp], eax
call fcn.00719704
mov dword [ebx + 0xe4], 0
mov dword [ebx + 0xdc], 0
jmp 0x7497f0
mov eax, dword [ebx + 0xe4]
test eax, eax
je 0x7497b0
mov dword [esp], eax
call fcn.00719704
mov edx, dword [ebx + 0x9c]
mov dword [ebx + 0xe4], 0
mov dword [ebx + 0xdc], 0
jmp 0x7497b6
mov dword [esp + 0x18], 0
mov edx, dword [ebx + 0x9c]
mov dword [esp + 0x1c], 0
jmp 0x74985a
mov edx, dword [ebx + 0xec]
mov edi, eax
test edx, edx
jne 0x7496d3
jmp 0x7496b7
mov dword [esp + 4], 1
mov dword [esp], 0x12c
call fcn.00738d00
mov dword [ebx + 0xec], eax
jmp 0x74959f
mov dword [esp + 4], 1
mov dword [esp], 0x12c
call fcn.00738d00
mov dword [ebx + 0xec], eax
jmp 0x749535
mov edx, dword [ebx + 0xf8]
mov byte [eax + edx], 0x3d
jmp 0x7496f0
mov eax, edi
mov byte [esp + 0x18], al
test byte [ebx + 0xc9], 2
jne 0x7497d6
mov eax, dword [ebx + 0xe4]
test eax, eax
je 0x749b20
mov dword [esp], eax
call fcn.00719704
xor eax, eax
mov dword [ebx + 0xe4], eax
mov dword [ebx + 0xdc], eax
cmp esi, 0xffffffff
jne 0x7497b0
mov eax, dword [ebx + 0xec]
and byte [ebx + 0xc9], 0xef
mov dword [ebx + 0xf8], 0
test eax, eax
je 0x749b56
mov dword [esp], eax
call fcn.00719704
mov dword [ebx + 0xec], 0
mov dword [esp], ebx
call fcn.00730cb0
jmp 0x7494f7
mov eax, dword [ebx + 0x9c]
mov edi, dword [esp + 0x18]
mov dword [eax + 0x1c0], esi
jmp 0x7499ca