Function at 0x404308
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0xe8
push ebx
push esi
push edi
push 3
xor esi, esi
lea eax, [ebp + 0x68]
mov edi, ecx
push esi
push eax
mov dword [ebp + 0x6c], edi
call fcn.0041e5e0
push 3
lea eax, [ebp + 0x68]
push esi
push eax
call fcn.0041e5e0
push 0x10
lea eax, [ebp + 0x2c]
push 0x30
push eax
call fcn.0041e5e0
push 0x10
lea eax, [ebp + 0x4c]
push 0x30
push eax
call fcn.0041e5e0
push 0x80
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.0041e5e0
add esp, 0x3c
xor eax, eax
mov dword [ebp + 0x70], eax
cmp byte [edi + eax + 0x2eb2], 0x3d
je 0x404379
inc eax
cmp eax, 0x25
mov dword [ebp + 0x70], eax
jl 0x404366
push eax
lea eax, [ebp + 0x68]
push str._02d
push eax
call fcn.0041e8d9
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
add esp, 0xc
mov ebx, str.C:LENGTH.ini
push ebx
lea eax, [ebp + 0x68]
push eax
push str.length
mov edi, str.TEST
push edi
call esi
cmp dword [ebp + 0x70], 0xf
push ebx
jne 0x4043da
push str.1234
push str.shortcard
push edi
call esi
mov edi, dword [ebp + 0x6c]
push 0xf
lea eax, [edi + 0x1400]
push eax
lea eax, [ebp + 0x4d]
push eax
mov byte [ebp + 0x4c], 0x30
call fcn.0041d970
add esp, 0xc
jmp 0x40440b
push 0x457738
push str.shortcard
push edi
call esi
push 0x10
lea eax, [ebp + 0x3b]
pop ecx
dec dword [ebp + 0x70]
mov edx, dword [ebp + 0x6c]
mov edi, dword [ebp + 0x70]
mov dl, byte [edx + edi + 0x2eb2]
mov byte [eax], dl
dec eax
dec ecx
jne 0x4043ed
cmp edi, 0xf
jne 0x40441c
mov edi, dword [ebp + 0x6c]
push 0x10
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.0041d970
jmp 0x40442e
push 0x10
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.0041d970
mov edi, dword [ebp + 0x6c]
add esp, 0xc
push 3
lea eax, [edi + 0x143c]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.0041d970
push 0xc
lea eax, [edi + 0x132e]
push eax
lea eax, [ebp - 0x61]
push eax
call fcn.0041d970
mov al, byte [edi + 0x130c]
add esp, 0x18
cmp al, 0x31
mov dword [ebp + 0x70], 0x1f
je 0x404483
cmp al, 0x42
je 0x40447a
cmp al, 0x49
jne 0x40449d
push 2
push 0x457828
jmp 0x40448a
push 2
push 0x457824
jmp 0x40448a
push 2
push 0x457820
lea eax, [ebp - 0x55]
push eax
call fcn.0041d970
add esp, 0xc
mov dword [ebp + 0x70], 0x21
mov ebx, str.c:_test.ini
push ebx
lea eax, [ebp - 0x74]
push eax
push str.sndmacBuf
mov edi, 0x456010
push edi
call esi
push dword [ebp + 0x70]
lea eax, [ebp + 0x64]
push 0x4577d8
push eax
call fcn.0041e8d9
add esp, 0xc
push ebx
lea eax, [ebp + 0x64]
push eax
push str.sndmacLen
push edi
call esi
mov eax, dword [0x470ff4]
test eax, eax
je 0x404555
add eax, 4
push 0x10
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.0041d970
push 0x20
lea eax, [ebp + 0xc]
push 0
push eax
call fcn.0041e5e0
mov ecx, dword [ebp + 0x6c]
add esp, 0x18
push 0x10
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.00403df1
push ebx
lea eax, [ebp + 0xc]
push eax
push str.mackeysnd
push edi
call esi
push dword [ebp + 0x70]
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00402b5a
mov ecx, dword [ebp + 0x6c]
add esp, 0x10
push 8
lea eax, [ebp + 0x5c]
push eax
push dword [ebp + 0x7c]
call fcn.00403df1
push ebx
push dword [ebp + 0x7c]
push str.macData
push edi
call esi
xor eax, eax
inc eax
jmp 0x404557
xor eax, eax
pop edi
pop esi
pop ebx
add ebp, 0x74
leave
ret 4