Function at 0x44d266
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 0x44d2a3
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 0x44da28
xor edx, edx
inc edx
xor esi, esi
cmp ecx, dword [ebx + 0x94]
mov dword [ebp - 8], edx
jl 0x44d2b7
xor eax, eax
jmp 0x44d2c1
mov eax, dword [ebx + 0x90]
movzx eax, word [eax + ecx*2]
cmp dword [ebx + 0xe0], esi
je 0x44d358
cmp ax, 0x5c
jne 0x44d308
lea edi, [ecx + 1]
cmp edi, dword [ebx + 0x94]
jge 0x44d308
mov esi, dword [ebx + 0x90]
movzx esi, word [esi + edi*2]
cmp si, 0x45
jne 0x44d306
and dword [ebx + 0xe4], 0
and dword [ebx + 0xe0], 0
add ecx, 2
xor eax, eax
jmp 0x44da22
xor esi, esi
mov edi, dword [ebx + 0xe4]
cmp edi, esi
je 0x44d330
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 0x44d33d
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 0x44da28
movzx edi, ax
cmp edi, 0x2e
jg 0x44d54c
je 0x44d964
cmp edi, 0x24
jg 0x44d41a
je 0x44d964
cmp edi, esi
je 0x44d58f
cmp edi, 8
jle 0x44d58f
cmp edi, 0xd
jle 0x44d40a
cmp edi, 0x20
je 0x44d40a
cmp edi, 0x23
jne 0x44d58f
test byte [ebx + 4], 0x20
je 0x44d58f
lea eax, [ecx + 1]
cmp eax, dword [ebx + 0x94]
mov dword [ebx + 0xd8], eax
jge 0x44d50e
cmp eax, dword [ebx + 0x94]
jge 0x44d3f4
mov ecx, dword [ebx + 0x90]
movzx ecx, word [ecx + eax*2]
cmp cx, 0xa
je 0x44d50e
cmp eax, dword [ebx + 0x94]
jge 0x44d3f4
mov ecx, dword [ebx + 0x90]
movzx ecx, word [ecx + eax*2]
cmp cx, 0xd
je 0x44d50e
inc eax
mov ecx, eax
mov dword [ebx + 0xd8], eax
cmp ecx, dword [ebx + 0x94]
jl 0x44d3bc
jmp 0x44d50e
test byte [ebx + 4], 0x20
je 0x44d58f
inc ecx
jmp 0x44d2ff
cmp edi, 0x28
je 0x44d45b
jle 0x44d58f
cmp edi, 0x2b
jle 0x44d964
cmp edi, 0x2d
jne 0x44d58f
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 0x44d980
mov dword [ebp - 0x18], esi
jmp 0x44d9fe
lea edx, [ecx + 1]
cmp edx, dword [ebx + 0x94]
jl 0x44d46b
mov dword [ebp - 4], esi
jmp 0x44d478
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 0x44d487
xor edi, edi
jmp 0x44d491
mov esi, dword [ebx + 0x90]
movzx edi, word [esi + edx*2]
cmp word [ebp - 4], 0x3f
jne 0x44d515
cmp di, 0x23
jne 0x44d515
cmp edx, dword [ebx + 0x94]
mov dword [ebx + 0xd8], edx
jge 0x44d4d9
mov eax, dword [ebx + 0xd8]
cmp eax, dword [ebx + 0x94]
jge 0x44d4ca
mov ecx, dword [ebx + 0x90]
movzx ecx, word [ecx + eax*2]
cmp cx, 0x29
je 0x44d4d9
inc eax
mov dword [ebx + 0xd8], eax
cmp eax, dword [ebx + 0x94]
jl 0x44d4ac
mov eax, dword [ebx + 0xd8]
cmp eax, dword [ebx + 0x94]
jge 0x44da14
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebx + 0xd8]
movzx eax, word [eax + ecx*2]
cmp ax, 0x29
jne 0x44da14
mov eax, ecx
inc eax
mov dword [ebx + 0xd8], eax
xor eax, eax
jmp 0x44da28
cmp dword [ebx + 0xdc], 0
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x14], ecx
lea edi, [ebx + 0xc8]
lea esi, [ebp - 0x1c]
jle 0x44d53e
and dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 1
jmp 0x44da01
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], eax
jmp 0x44da01
cmp edi, 0x5c
jg 0x44d94a
je 0x44d5c0
cmp edi, 0x3a
je 0x44d5a9
cmp edi, 0x3f
je 0x44d964
cmp edi, 0x5b
jne 0x44d58f
cmp dword [ebx + 0xdc], esi
je 0x44d597
lea edi, [ecx + 1]
cmp edi, dword [ebx + 0x94]
jge 0x44d58f
mov esi, dword [ebx + 0x90]
movzx esi, word [esi + edi*2]
cmp si, 0x3a
je 0x44d597
xor esi, esi
mov dword [ebp - 0x18], esi
jmp 0x44d681
mov esi, dword [ebx + 0xdc]
inc esi
mov dword [ebx + 0xdc], esi
jmp 0x44d67e
lea edi, [ebx + 0xb8]
cmp word [edi], 0x5b
jne 0x44d58f
cmp dword [edi + 4], edx
je 0x44d67e
jmp 0x44d58f
lea edi, [ecx + 1]
cmp edi, dword [ebx + 0x94]
jl 0x44d664
mov dword [ebp - 0xc], esi
movzx edx, si
cmp edx, 0x64
push 2
pop edi
mov dword [ebp - 8], edi
jg 0x44d74a
je 0x44d6a3
cmp edx, 0x51
jg 0x44d6eb
je 0x44d655
test edx, edx
je 0x44d6b3
cmp edx, 0x40
jle 0x44d7cc
cmp edx, 0x42
jle 0x44d6a3
cmp edx, 0x44
je 0x44d6a3
cmp edx, 0x45
je 0x44d2ee
cmp edx, 0x47
je 0x44d696
cmp edx, 0x4c
jne 0x44d7cc
lea eax, [ebx + 0xe4]
cmp dword [eax], 0
jne 0x44d642
mov edx, dword [sym.imp.MSVCR80.dll_tolower]
mov dword [eax], edx
lea eax, [ebx + 0xe4]
cmp dword [eax], 0
jne 0x44d655
mov edx, dword [sym.imp.MSVCR80.dll_toupper]
mov dword [eax], edx
mov dword [ebx + 0xe0], 1
jmp 0x44d2fc
mov esi, dword [ebx + 0x90]
movzx esi, word [esi + edi*2]
lea edi, [esi - 0x30]
cmp di, 9
mov dword [ebp - 0xc], esi
ja 0x44d5d2
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 0x44d9fe
cmp dword [ebx + 0xdc], 0
jg 0x44d2fc
mov word [ebp - 0x1c], si
mov dword [ebp - 0x18], 1
jmp 0x44d942
mov esi, dword [ebx + 0x94]
lea edx, [ecx + 1]
cmp edx, esi
mov dword [ebp - 0x14], ecx
lea esi, [ebp - 0x1c]
jl 0x44d6d1
xor edx, edx
inc edx
mov dword [ebp - 8], edx
mov dword [ebp - 0x10], edx
jmp 0x44d6d8
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 0x44da01
sub edx, 0x53
je 0x44d6a3
sub edx, edi
je 0x44d642
sub edx, edi
je 0x44d6a3
sub edx, 3
je 0x44d6a3
sub edx, 7
je 0x44d73f
dec edx
jne 0x44d7cc
cmp dword [ebx + 0xdc], edx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], ecx
lea edi, [ebx + 0xc8]
jle 0x44d72f
and dword [ebp - 0x18], edx
mov word [ebp - 0x1c], 8
jmp 0x44d9fe
mov word [ebp - 0x1c], si
mov dword [ebp - 0x18], 1
jmp 0x44d9fe
mov word [ebp - 0x1c], 7
jmp 0x44d93e
cmp edx, 0x73
jg 0x44d7a3
je 0x44d6a3
sub edx, 0x65
je 0x44d798
dec edx
je 0x44d78d
dec edx
je 0x44d6a3
sub edx, 4
je 0x44d6a3
sub edx, 3
je 0x44d782
sub edx, 4
jne 0x44d7cc
mov word [ebp - 0x1c], 0xd
jmp 0x44d93e
mov word [ebp - 0x1c], 0xa
jmp 0x44d93e
mov word [ebp - 0x1c], 0xc
jmp 0x44d93e
mov word [ebp - 0x1c], 0x1b
jmp 0x44d93e
sub edx, 0x74
je 0x44d938
dec edx
je 0x44d851
dec edx
je 0x44d846
dec edx
je 0x44d6a3
dec edx
je 0x44d7d5
sub edx, edi
je 0x44d6a3
mov word [ebp - 0x1c], si
jmp 0x44d93e
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x94]
jge 0x44d7f0
mov edx, dword [ebx + 0x90]
movzx edx, word [edx + eax*2]
cmp dx, 0x7b
je 0x44d851
mov ecx, dword [ebx + 0x90]
and dword [ebp - 0xc], 0
test ecx, ecx
jne 0x44d803
mov ecx, 0x4b87c0
lea eax, [ecx + eax*2]
push eax
lea ecx, [ebp - 0xc]
call fcn.0044df0b
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 0x44d832
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 0x44da1a
mov word [ebp - 0x1c], 0xb
jmp 0x44d93e
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x94]
jge 0x44d86c
mov edx, dword [ebx + 0x90]
movzx edx, word [edx + eax*2]
cmp dx, 0x7b
je 0x44d8af
mov ecx, dword [ebx + 0x90]
and dword [ebp - 0xc], 0
test ecx, ecx
jne 0x44d87f
mov ecx, 0x4b87c0
lea eax, [ecx + eax*2]
push eax
push 4
lea ecx, [ebp - 0xc]
pop edi
call fcn.0044df0b
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 0x44d82e
mov word [ebp - 0x1c], ax
jmp 0x44d832
mov eax, dword [ebx + 0x90]
and dword [ebp - 0xc], 0
test eax, eax
jne 0x44d8c2
mov eax, 0x4b87c0
lea eax, [eax + ecx*2 + 6]
push eax
push 8
lea ecx, [ebp - 0xc]
pop edi
call fcn.0044df0b
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 0x44d911
cmp edx, dword [ebx + 0x94]
jge 0x44d8ff
mov edi, dword [ebx + 0x90]
movzx edi, word [edi + edx*2]
cmp di, 0x7d
je 0x44d911
mov edi, dword [ebx + 0xd8]
inc ecx
add edi, ecx
inc edx
cmp edi, dword [ebx + 0x94]
jl 0x44d8e7
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 0x44da1a
mov word [ebp - 0x1c], 9
and dword [ebp - 0x18], 0
mov dword [ebp - 0x10], edi
jmp 0x44d688
cmp edi, 0x5d
je 0x44d9d9
cmp edi, 0x5e
je 0x44d985
add edi, 0xffffff85
cmp edi, 2
ja 0x44d58f
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 0x44d453
mov dword [ebp - 0x18], edx
jmp 0x44d9fe
cmp dword [ebx + 0xdc], esi
je 0x44d67e
cmp word [ebx + 0xb8], 0x5b
jne 0x44d9a7
cmp dword [ebx + 0xbc], edx
je 0x44d67e
lea edi, [ebx + 0xa8]
cmp word [edi], 0x5b
jne 0x44d58f
cmp dword [edi + 4], edx
jne 0x44d58f
cmp word [ebx + 0xb8], 0x3a
jne 0x44d58f
cmp dword [ebx + 0xbc], edx
jmp 0x44d5b8
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 0x44da07
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 0x44da1a
and dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 1
jmp 0x44d9fe
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