Function at 0x44c6a0
Capabilities:
Parse credit card information

Disassembly:
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x24]
jae fcn.0044c7aa
cmp word [edi], 0
je fcn.0044c7aa
lea ecx, [ebp - 0x54]
call fcn.0049027a
cmp word [edi], 0x25
je 0x44c26e
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 4]
sar ecx, 1
jmp 0x44c269
mov ax, word [edi]
test ax, ax
je 0x44c221
cmp ax, 0x25
je 0x44c221
mov edx, dword [ebp - 4]
mov word [edx], ax
add dword [ebp - 4], 2
inc edi
inc edi
dec ecx
jns 0x44c24f
jmp 0x44c221
cmp byte [ebp + 0x14], 0
mov esi, edi
je 0x44c48b
add al, byte [eax]
invalid
lea edx, [edi + 2]
mov cx, word [edx]
cmp cx, 0x25
jne 0x44c295
mov eax, dword [ebp - 4]
mov word [eax], cx
add dword [ebp - 4], 2
add edi, 4
jmp 0x44c221
cmp cx, 0x23
jne 0x44c2d7
mov eax, dword [ebx + 0x3c]
add edi, 4
test eax, eax
je 0x44c21e
mov ecx, dword [ebx + 0x38]
mov eax, dword [eax + ecx*4 + 8]
mov cx, word [eax]
test cx, cx
je 0x44c21e
mov edx, dword [ebp - 4]
mov word [edx], cx
add dword [ebp - 4], 2
inc eax
inc eax
xor ecx, ecx
mov cx, word [eax]
test cx, cx
jne 0x44c2bc
jmp 0x44c221
cmp cx, 0x2a
jne 0x44c32f
mov eax, dword [ebx + 0x3c]
add edi, 4
test eax, eax
je 0x44c21e
mov ecx, dword [ebx + 0x38]
push dword [eax + ecx*4]
call dword [0x4a6508]
mov esi, eax
lea eax, [esi + 2]
push eax
lea ecx, [ebp - 0x54]
call fcn.004902c5
dec esi
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ecx + eax*4]
js 0x44c21e
lea ecx, [esi + 1]
mov dx, word [eax]
mov esi, dword [ebp - 4]
mov word [esi], dx
add dword [ebp - 4], 2
inc eax
inc eax
dec ecx
jne 0x44c318
jmp 0x44c221
cmp cx, 0x40
jne 0x44c389
mov eax, dword [ebx + 0x3c]
add edi, 4
test eax, eax
je 0x44c21e
mov ecx, dword [ebx + 0x38]
push dword [eax + ecx*4 + 4]
call dword [0x4a6508]
mov esi, eax
lea eax, [esi + 2]
push eax
lea ecx, [ebp - 0x54]
call fcn.0049031e
dec esi
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ecx + eax*4 + 4]
js 0x44c21e
lea ecx, [esi + 1]
mov dx, word [eax]
mov esi, dword [ebp - 4]
mov word [esi], dx
add dword [ebp - 4], 2
inc eax
inc eax
dec ecx
jne 0x44c372
jmp 0x44c221
push ecx
call fcn.0045e155
add esp, 4
test al, al
jne 0x44c3b7
cmp cx, 0x7e
jb 0x44c48b
xor eax, eax
mov ax, word [edi + 4]
push eax
call fcn.0045e172
add esp, 4
test al, al
je 0x44c48b
and dword [ebp - 0x18], 0
cmp cx, 0x7e
jb 0x44c3ca
mov dword [ebp - 0x18], 0x4b7e9
mov edi, edx
xor ecx, ecx
mov dword [ebp - 0x38], ecx
jmp 0x44c3f9
push 0
push 0xa
push dword [ebp - 0x38]
push ecx
call 0x4de6ea
mov ecx, eax
mov eax, edx
mov dword [ebp + 8], eax
movzx eax, si
cdq
add ecx, eax
mov eax, dword [ebp + 8]
adc eax, edx
add ecx, 0xffffffd0
adc eax, 0xffffffff
mov dword [ebp - 0x38], eax
inc edi
inc edi
xor esi, esi
mov si, word [edi]
push esi
call fcn.0045e1cc
add esp, 4
test al, al
jne 0x44c3d1
mov eax, dword [ebx + 0x38]
cdq
cmp dword [ebp - 0x38], edx
ja 0x44c21e
jb 0x44c424
cmp ecx, eax
jae 0x44c21e
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x44c21e
mov esi, dword [eax + ecx*4]
push esi
call dword [0x4a6508]
cmp dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
je 0x44c458
cmp word [esi], 0x22
jne 0x44c458
cmp word [esi + eax*2 - 2], 0x22
jne 0x44c453
dec dword [ebp + 8]
dec dword [ebp + 8]
inc esi
inc esi
mov eax, dword [ebp + 8]
add eax, 2
push eax
lea ecx, [ebp - 0x54]
call fcn.00490427
dec dword [ebp + 8]
js 0x44c21e
mov eax, dword [ebp + 8]
inc eax
mov cx, word [esi]
mov edx, dword [ebp - 4]
mov word [edx], cx
add dword [ebp - 4], 2
inc esi
inc esi
dec eax
jne 0x44c474
out dx, al
jmp 0x44c221
push 8
push str._RANDOM_
push edi
call dword [0x4a65cc]
test eax, eax
jne 0x44c4aa
call fcn.00485b73
and edx, 0x7fffffff
jmp 0x44c4c4
push 8
push str.___THIS_
push edi
call dword [0x4a65cc]
test eax, eax
jne 0x44c52e
lea eax, [ebx + 0x75bd036]
xor edx, edx
and word [ebp - 0xf8], 0
mov cx, word [esi]
mov edx, dword [ebp - 4]
mov word [edx], cx
add dword [ebp - 4], 2
inc esi
inc esi
dec eax
jne fcn.0044c6a0
jmp 0x44c21e