Function at 0x4b18f0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0
mov esi, dword [edi + 0x1c]
cmp esi, dword [edi + 8]
jae 0x4b1939
mov eax, dword [edi + 0x38]
cmp eax, 0x20
je 0x4b1927
cmp eax, 9
je 0x4b1927
cmp eax, 0xa
je 0x4b1927
cmp eax, 0xd
jne 0x4b1936
mov ecx, edi
call fcn.004761d0
mov esi, dword [edi + 0x1c]
cmp esi, dword [edi + 8]
jb 0x4b1910
mov edx, dword [ebp - 8]
push dword [edi + 0x30]
lea eax, [esi - 1]
mov ecx, edx
push eax
call fcn.00475ef0
mov esi, dword [edi + 0x38]
cmp esi, 0x80
jge 0x4b1b13
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
add esp, 4
test eax, eax
jne 0x4b1977
cmp esi, 0x2e
je 0x4b1977
cmp esi, 0x5f
je 0x4b1977
cmp esi, 0x5c
jne 0x4b1b13
mov eax, dword [edi + 0x1c]
push ebx
cmp eax, dword [edi + 8]
jae 0x4b1a39
mov ebx, dword [ebp + 0xc]
jmp 0x4b1990
mov esi, dword [edi + 0x38]
cmp esi, 0x20
je 0x4b1a39
cmp esi, 9
je 0x4b1a39
cmp esi, 0xa
je 0x4b1a39
cmp esi, 0xd
je 0x4b1a39
cmp dword [ebp - 4], 0x1f3
jge 0x4b1a39
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
add esp, 4
test eax, eax
jne 0x4b1a19
cmp esi, 0x2a
je 0x4b1a39
cmp esi, 0x2f
je 0x4b1a39
cmp esi, 0x2d
je 0x4b1a39
cmp esi, 0x2b
je 0x4b1a39
cmp esi, 0x28
je 0x4b1a39
cmp esi, 0x29
je 0x4b1a39
cmp esi, 0x3d
je 0x4b1a39
cmp esi, 0x25
je 0x4b1a39
cmp esi, 0x5b
je 0x4b1a39
cmp esi, 0x5d
je 0x4b1a39
cmp esi, 0x3c
je 0x4b1a39
cmp esi, 0x3e
je 0x4b1a39
cmp esi, 0x2c
je 0x4b1a39
cmp esi, 0x3b
je 0x4b1a39
cmp esi, 0x3a
je 0x4b1a39
mov ecx, dword [ebp - 4]
mov al, byte [edi + 0x38]
mov byte [ecx + ebx], al
inc ecx
mov dword [ebp - 4], ecx
mov ecx, edi
call fcn.004761d0
mov eax, dword [edi + 0x1c]
cmp eax, dword [edi + 8]
jb 0x4b1990
mov ebx, dword [ebp + 0xc]
mov esi, ebx
mov eax, dword [ebp - 4]
mov byte [eax + ebx], 0
mov al, byte [ebx]
test al, al
je 0x4b1a78
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
movsx eax, al
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
add esp, 4
test eax, eax
je 0x4b1a6d
movsx eax, byte [esi]
push eax
call ebx
add esp, 4
mov byte [esi], al
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4b1a51
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp - 0xc]
push ebx
mov ecx, dword [esi]
call fcn.00475500
test al, al
je 0x4b1a8e
mov eax, 3
jmp 0x4b1add
mov ecx, dword [esi + 8]
push ebx
call fcn.00475500
test al, al
je 0x4b1aa2
mov eax, 5
jmp 0x4b1add
mov ecx, dword [esi + 0xc]
push ebx
call fcn.00475500
test al, al
je 0x4b1ab6
mov eax, 6
jmp 0x4b1add
mov ecx, dword [esi + 0x10]
push ebx
call fcn.00475500
test al, al
je 0x4b1aca
mov eax, 7
jmp 0x4b1add
mov ecx, dword [esi + 4]
push ebx
call fcn.00475500
movzx eax, al
shl eax, 2
test eax, eax
je 0x4b1afc
mov ecx, dword [ebp - 8]
push eax
mov dword [edi + 0x30], eax
mov eax, dword [edi + 0x1c]
dec eax
push eax
call fcn.00475ef0
pop ebx
mov dword [edi + 0x30], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x1c]
mov ecx, dword [ebp - 8]
dec eax
push 0
push eax
mov dword [edi + 0x30], 0
call fcn.00475ef0
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret