Function at 0x41b580
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x41b89b
nop dword [eax]
cmp eax, 0x7c
je 0x41b89b
cmp eax, 0x29
jne 0x41b60d
cmp dword [esi + 0x10], 0
jne 0x41b89b
test dword [esi + 0x50], 0x10000000
je 0x41b8b9
cmp eax, 0x5d
jne 0x41b5d7
test dword [esi + 0x50], 0x10000000
je 0x41b8ab
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0041c400
mov ecx, esi
call fcn.0041b520
mov eax, dword [esi + 0x4c]
xor ebx, ebx
or edi, 0xffffffff
cmp eax, 0x2a
je 0x41b852
cmp eax, 0x2b
jne 0x41b7d6
lea ebx, [edi + 2]
jmp 0x41b852
cmp eax, 0x2e
jne 0x41b61e
push 5
lea ecx, [esi + 0x24]
call fcn.0041b8d0
jmp 0x41b5e4
cmp eax, 0x5c
jne 0x41b67b
mov ecx, esi
call fcn.0041b520
test byte [esi + 0x50], 0x80
je 0x41b66f
cmp byte [esi + 0x48], 0x62
jne 0x41b64c
push 4
lea ecx, [esi + 0x24]
call fcn.0041b8d0
mov ecx, esi
call fcn.0041b520
jmp 0x41b88d
cmp byte [esi + 0x48], 0x42
jne 0x41b66f
push 4
lea ecx, [esi + 0x24]
call fcn.0041b8d0
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.0041b520
jmp 0x41b88d
mov ecx, esi
call fcn.0041c140
jmp 0x41b5eb
cmp eax, 0x5b
jne 0x41b72e
mov ecx, esi
call fcn.0041b520
lea ecx, [esi + 0x24]
call fcn.0041d460
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x41b6ac
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.0041b520
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x41b718
cmp eax, 0x5d
jne 0x41b718
test dword [esi + 0x2c], 0x100
mov bl, al
je 0x41b6d6
mov eax, dword [esi + 0x30]
push 0x5d
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov bl, al
mov edi, dword [esi + 0x28]
mov ecx, dword [edi + 0x18]
test ecx, ecx
jne 0x41b6fc
push 0x20
call fcn.004ddc2c
xorps xmm0, xmm0
mov dword [ebp - 8], eax
add esp, 4
mov ecx, eax
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm0
mov dword [edi + 0x18], eax
movzx edx, bl
mov eax, edx
and edx, 7
shr eax, 3
add ecx, eax
movzx eax, byte [ecx]
bts eax, edx
mov byte [ecx], al
mov ecx, esi
call fcn.0041b520
mov ecx, esi
call fcn.0041cf20
cmp dword [esi + 0x4c], 0x5d
jne 0x41b8ab
jmp 0x41b5e4
cmp eax, 0x28
jne 0x41b761
mov ecx, esi
call fcn.0041b520
mov ecx, esi
call fcn.0041c2f0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x41b8b9
mov ecx, esi
call fcn.0041b520
test bl, bl
je 0x41b88d
jmp 0x41b5eb
cmp eax, 0x5e
jne 0x41b77c
push 2
lea ecx, [esi + 0x24]
call fcn.0041b8d0
mov ecx, esi
call fcn.0041b520
jmp 0x41b88d
cmp eax, 0x24
jne 0x41b797
push 3
lea ecx, [esi + 0x24]
call fcn.0041b8d0
mov ecx, esi
call fcn.0041b520
jmp 0x41b88d
cmp eax, 0x2a
je 0x41b8a4
cmp eax, 0x2b
je 0x41b8a4
cmp eax, 0x3f
je 0x41b8a4
cmp eax, 0x7b
je 0x41b8a4
cmp eax, 0x7d
jne 0x41b5c5
test dword [esi + 0x50], 0x10000000
je 0x41b8b2
jmp 0x41b5d7
cmp eax, 0x3f
jne 0x41b7e0
lea edi, [eax - 0x3e]
jmp 0x41b852
cmp eax, 0x7b
jne 0x41b88d
mov ecx, esi
call fcn.0041b520
push closesocket
push 0xa
mov ecx, esi
call fcn.0041dc50
cmp eax, 0x7fffffff
je 0x41b8c0
mov eax, dword [esi + 0x4c]
mov ebx, dword [esi + 0x44]
cmp eax, 0x2c
je 0x41b818
mov edi, ebx
jmp 0x41b844
mov ecx, esi
call fcn.0041b520
cmp dword [esi + 0x4c], 0x7d
je 0x41b852
push closesocket
push 0xa
mov ecx, esi
call fcn.0041dc50
cmp eax, 0x7fffffff
je 0x41b8c0
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x4c]
cmp eax, 0x7d
jne 0x41b8c0
cmp edi, 0xffffffff
je 0x41b852
cmp edi, ebx
jl 0x41b8c0
mov eax, dword [esi + 0x28]
mov ecx, esi
or dword [eax + 8], 4
call fcn.0041b520
test dword [esi + 0x50], 0x400
je 0x41b87c
cmp dword [esi + 0x4c], 0x3f
jne 0x41b87c
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0041b520
jmp 0x41b880
mov byte [ebp - 4], 1
push dword [ebp - 4]
lea ecx, [esi + 0x24]
push edi
push ebx
call fcn.0041d500
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x41b5a0
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.0041aa60
push 4
call fcn.0041aa60
push 6
call fcn.0041aa60
push 5
call fcn.0041aa60
push 7
call fcn.0041aa60
int3