Function at 0x44f156
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov ecx, dword [ebx + 0xd8]
cmp ecx, dword [ebx + 0x94]
push esi
push edi
mov dword [ebp - 4], ecx
jl 0x44f193
and word [ebp - 0x1c], 0
xor eax, eax
inc eax
and dword [ebp - 0x10], 0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
lea edi, [ebx + 0xc8]
lea esi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x44f918
xor edx, edx
inc edx
xor esi, esi
cmp ecx, dword [ebx + 0x94]
mov dword [ebp - 8], edx
jl 0x44f1a7
xor eax, eax
jmp 0x44f1b1
mov eax, dword [ebx + 0x90]
movzx eax, word [eax + ecx*2]
cmp dword [ebx + 0xe0], esi
je 0x44f248
cmp ax, 0x5c
jne 0x44f1f8
lea edi, [ecx + 1]
cmp edi, dword [ebx + 0x94]
jge 0x44f1f8
mov esi, dword [ebx + 0x90]
movzx esi, word [esi + edi*2]
cmp si, 0x45
jne 0x44f1f6
and dword [ebx + 0xe4], 0
and dword [ebx + 0xe0], 0
add ecx, 2
xor eax, eax
jmp 0x44f912
xor esi, esi
mov edi, dword [ebx + 0xe4]
cmp edi, esi
je 0x44f220
movzx eax, ax
push eax
call edi
and dword [ebp - 0x18], 0
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 4]
pop ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 1
jmp 0x44f22d
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
inc dword [ebx + 0xd8]
lea edi, [ebx + 0xc8]
lea esi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor eax, eax
movsd dword es:[edi], dword [esi]
inc eax
jmp 0x44f918
movzx edi, ax
cmp edi, 0x2e
jg 0x44f43c
je 0x44f854
cmp edi, 0x24
jg 0x44f30a
je 0x44f854
cmp edi, esi
je 0x44f47f
cmp edi, 8
jle 0x44f47f
cmp edi, 0xd
jle 0x44f2fa
cmp edi, 0x20
je 0x44f2fa
cmp edi, 0x23
jne 0x44f47f
test byte [ebx + 4], 0x20
je 0x44f47f
lea eax, [ecx + 1]
cmp eax, dword [ebx + 0x94]
mov dword [ebx + 0xd8], eax
jge 0x44f3fe
cmp eax, dword [ebx + 0x94]
jge 0x44f2e4
mov ecx, dword [ebx + 0x90]
movzx ecx, word [ecx + eax*2]
cmp cx, 0xa
je 0x44f3fe
cmp eax, dword [ebx + 0x94]
jge 0x44f2e4
mov ecx, dword [ebx + 0x90]
movzx ecx, word [ecx + eax*2]
cmp cx, 0xd
je 0x44f3fe
inc eax
mov ecx, eax
mov dword [ebx + 0xd8], eax
cmp ecx, dword [ebx + 0x94]
jl 0x44f2ac
jmp 0x44f3fe
test byte [ebx + 4], 0x20
je 0x44f47f
inc ecx
jmp 0x44f1ef
cmp edi, 0x28
je 0x44f34b
jle 0x44f47f
cmp edi, 0x2b
jle 0x44f854
cmp edi, 0x2d
jne 0x44f47f
cmp dword [ebx + 0xdc], esi
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
lea edi, [ebx + 0xc8]
jg 0x44f870
mov dword [ebp - 0x18], esi
jmp 0x44f8ee
lea edx, [ecx + 1]
cmp edx, dword [ebx + 0x94]
jl 0x44f35b
mov dword [ebp - 4], esi
jmp 0x44f368
mov edi, dword [ebx + 0x90]
movzx edx, word [edi + edx*2]
mov dword [ebp - 4], edx
lea edx, [ecx + 2]
cmp edx, dword [ebx + 0x94]
jl 0x44f377
xor edi, edi
jmp 0x44f381
mov esi, dword [ebx + 0x90]
movzx edi, word [esi + edx*2]
cmp word [ebp - 4], 0x3f
jne 0x44f405
cmp di, 0x23
jne 0x44f405
cmp edx, dword [ebx + 0x94]
mov dword [ebx + 0xd8], edx
jge 0x44f3c9
mov eax, dword [ebx + 0xd8]
cmp eax, dword [ebx + 0x94]
jge 0x44f3ba
mov ecx, dword [ebx + 0x90]
movzx ecx, word [ecx + eax*2]
cmp cx, 0x29
je 0x44f3c9
inc eax
mov dword [ebx + 0xd8], eax
cmp eax, dword [ebx + 0x94]
jl 0x44f39c
mov eax, dword [ebx + 0xd8]
cmp eax, dword [ebx + 0x94]
jge 0x44f904
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebx + 0xd8]
movzx eax, word [eax + ecx*2]
cmp ax, 0x29
jne 0x44f904
mov eax, ecx
inc eax
mov dword [ebx + 0xd8], eax
xor eax, eax
jmp 0x44f918
cmp dword [ebx + 0xdc], 0
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x14], ecx
lea edi, [ebx + 0xc8]
lea esi, [ebp - 0x1c]
jle 0x44f42e
and dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 1
jmp 0x44f8f1
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], eax
jmp 0x44f8f1
cmp edi, 0x5c
jg 0x44f83a
je 0x44f4b0
cmp edi, 0x3a
je 0x44f499
cmp edi, 0x3f
je 0x44f854
cmp edi, 0x5b
jne 0x44f47f
cmp dword [ebx + 0xdc], esi
je 0x44f487
lea edi, [ecx + 1]
cmp edi, dword [ebx + 0x94]
jge 0x44f47f
mov esi, dword [ebx + 0x90]
movzx esi, word [esi + edi*2]
cmp si, 0x3a
je 0x44f487
xor esi, esi
mov dword [ebp - 0x18], esi
jmp 0x44f571
mov esi, dword [ebx + 0xdc]
inc esi
mov dword [ebx + 0xdc], esi
jmp 0x44f56e
lea edi, [ebx + 0xb8]
cmp word [edi], 0x5b
jne 0x44f47f
cmp dword [edi + 4], edx
je 0x44f56e
jmp 0x44f47f
lea edi, [ecx + 1]
cmp edi, dword [ebx + 0x94]
jl 0x44f554
mov dword [ebp - 0xc], esi
movzx edx, si
cmp edx, 0x64
push 2
pop edi
mov dword [ebp - 8], edi
jg 0x44f63a
je 0x44f593
cmp edx, 0x51
jg 0x44f5db
je 0x44f545
test edx, edx
je 0x44f5a3
cmp edx, 0x40
jle 0x44f6bc
cmp edx, 0x42
jle 0x44f593
cmp edx, 0x44
je 0x44f593
cmp edx, 0x45
je 0x44f1de
cmp edx, 0x47
je 0x44f586
cmp edx, 0x4c
jne 0x44f6bc
lea eax, [ebx + 0xe4]
cmp dword [eax], 0
jne 0x44f532
mov edx, dword [sym.imp.MSVCR80.dll_tolower]
mov dword [eax], edx
lea eax, [ebx + 0xe4]
cmp dword [eax], 0
jne 0x44f545
mov edx, dword [sym.imp.MSVCR80.dll_toupper]
mov dword [eax], edx
mov dword [ebx + 0xe0], 1
jmp 0x44f1ec
mov esi, dword [ebx + 0x90]
movzx esi, word [esi + edi*2]
lea edi, [esi - 0x30]
cmp di, 9
mov dword [ebp - 0xc], esi
ja 0x44f4c2
mov dword [ebp - 0x18], edx
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], ecx
lea edi, [ebx + 0xc8]
jmp 0x44f8ee
cmp dword [ebx + 0xdc], 0
jg 0x44f1ec
mov word [ebp - 0x1c], si
mov dword [ebp - 0x18], 1
jmp 0x44f832
mov esi, dword [ebx + 0x94]
lea edx, [ecx + 1]
cmp edx, esi
mov dword [ebp - 0x14], ecx
lea esi, [ebp - 0x1c]
jl 0x44f5c1
xor edx, edx
inc edx
mov dword [ebp - 8], edx
mov dword [ebp - 0x10], edx
jmp 0x44f5c8
mov ax, word [ebp - 0xc]
mov dword [ebp - 0x10], edi
and dword [ebp - 0x18], 0
mov word [ebp - 0x1c], ax
lea edi, [ebx + 0xc8]
jmp 0x44f8f1
sub edx, 0x53
je 0x44f593
sub edx, edi
je 0x44f532
sub edx, edi
je 0x44f593
sub edx, 3
je 0x44f593
sub edx, 7
je 0x44f62f
dec edx
jne 0x44f6bc
cmp dword [ebx + 0xdc], edx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], ecx
lea edi, [ebx + 0xc8]
jle 0x44f61f
and dword [ebp - 0x18], edx
mov word [ebp - 0x1c], 8
jmp 0x44f8ee
mov word [ebp - 0x1c], si
mov dword [ebp - 0x18], 1
jmp 0x44f8ee
mov word [ebp - 0x1c], 7
jmp 0x44f82e
cmp edx, 0x73
jg 0x44f693
je 0x44f593
sub edx, 0x65
je 0x44f688
dec edx
je 0x44f67d
dec edx
je 0x44f593
sub edx, 4
je 0x44f593
sub edx, 3
je 0x44f672
sub edx, 4
jne 0x44f6bc
mov word [ebp - 0x1c], 0xd
jmp 0x44f82e
mov word [ebp - 0x1c], 0xa
jmp 0x44f82e
mov word [ebp - 0x1c], 0xc
jmp 0x44f82e
mov word [ebp - 0x1c], 0x1b
jmp 0x44f82e
sub edx, 0x74
je 0x44f828
dec edx
je 0x44f741
dec edx
je 0x44f736
dec edx
je 0x44f593
dec edx
je 0x44f6c5
sub edx, edi
je 0x44f593
mov word [ebp - 0x1c], si
jmp 0x44f82e
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x94]
jge 0x44f6e0
mov edx, dword [ebx + 0x90]
movzx edx, word [edx + eax*2]
cmp dx, 0x7b
je 0x44f741
mov ecx, dword [ebx + 0x90]
and dword [ebp - 0xc], 0
test ecx, ecx
jne 0x44f6f3
mov ecx, 0x5160ec
lea eax, [ecx + eax*2]
push eax
lea ecx, [ebp - 0xc]
call fcn.0044fe20
mov edx, dword [ebp - 0xc]
and dword [ebp - 0x18], 0
test edx, edx
pop ecx
lea ecx, [edx + 2]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], ecx
lea edi, [ebx + 0xc8]
mov word [ebp - 0x1c], ax
jg 0x44f722
mov word [ebp - 0x1c], si
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
lea esi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x44f90a
mov word [ebp - 0x1c], 0xb
jmp 0x44f82e
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x94]
jge 0x44f75c
mov edx, dword [ebx + 0x90]
movzx edx, word [edx + eax*2]
cmp dx, 0x7b
je 0x44f79f
mov ecx, dword [ebx + 0x90]
and dword [ebp - 0xc], 0
test ecx, ecx
jne 0x44f76f
mov ecx, 0x5160ec
lea eax, [ecx + eax*2]
push eax
push 4
lea ecx, [ebp - 0xc]
pop edi
call fcn.0044fe20
mov edx, dword [ebp - 0xc]
and dword [ebp - 0x18], 0
test edx, edx
pop ecx
lea ecx, [edx + 2]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], ecx
lea edi, [ebx + 0xc8]
jle 0x44f71e
mov word [ebp - 0x1c], ax
jmp 0x44f722
mov eax, dword [ebx + 0x90]
and dword [ebp - 0xc], 0
test eax, eax
jne 0x44f7b2
mov eax, 0x5160ec
lea eax, [eax + ecx*2 + 6]
push eax
push 8
lea ecx, [ebp - 0xc]
pop edi
call fcn.0044fe20
mov esi, dword [ebp - 4]
pop ecx
mov ecx, dword [ebp - 0xc]
add ecx, 2
lea edx, [esi + ecx]
cmp edx, dword [ebx + 0x94]
jge 0x44f801
cmp edx, dword [ebx + 0x94]
jge 0x44f7ef
mov edi, dword [ebx + 0x90]
movzx edi, word [edi + edx*2]
cmp di, 0x7d
je 0x44f801
mov edi, dword [ebx + 0xd8]
inc ecx
add edi, ecx
inc edx
cmp edi, dword [ebx + 0x94]
jl 0x44f7d7
mov dword [ebp - 0x14], esi
inc ecx
and dword [ebp - 0x18], 0
mov dword [ebp - 0x10], ecx
mov word [ebp - 0x1c], ax
lea edi, [ebx + 0xc8]
lea esi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
movsd dword es:[edi], dword [esi]
jmp 0x44f90a
mov word [ebp - 0x1c], 9
and dword [ebp - 0x18], 0
mov dword [ebp - 0x10], edi
jmp 0x44f578
cmp edi, 0x5d
je 0x44f8c9
cmp edi, 0x5e
je 0x44f875
add edi, 0xffffff85
cmp edi, 2
ja 0x44f47f
cmp dword [ebx + 0xdc], esi
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
lea edi, [ebx + 0xc8]
jg 0x44f343
mov dword [ebp - 0x18], edx
jmp 0x44f8ee
cmp dword [ebx + 0xdc], esi
je 0x44f56e
cmp word [ebx + 0xb8], 0x5b
jne 0x44f897
cmp dword [ebx + 0xbc], edx
je 0x44f56e
lea edi, [ebx + 0xa8]
cmp word [edi], 0x5b
jne 0x44f47f
cmp dword [edi + 4], edx
jne 0x44f47f
cmp word [ebx + 0xb8], 0x3a
jne 0x44f47f
cmp dword [ebx + 0xbc], edx
jmp 0x44f4a8
lea edx, [ebx + 0xdc]
mov esi, dword [edx]
test esi, esi
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x14], ecx
lea edi, [ebx + 0xc8]
jle 0x44f8f7
dec esi
xor eax, eax
inc eax
mov dword [edx], esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], eax
lea esi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x44f90a
and dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 1
jmp 0x44f8ee
mov ecx, dword [ebx + 0xd8]
mov eax, dword [ebp - 8]
add ecx, eax
xor eax, eax
inc eax
mov dword [ebx + 0xd8], ecx
pop edi
pop esi
leave
ret