Function at 0x44d5de
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 0x44d61b
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 0x44dda0
xor edx, edx
inc edx
xor esi, esi
cmp ecx, dword [ebx + 0x94]
mov dword [ebp - 8], edx
jl 0x44d62f
xor eax, eax
jmp 0x44d639
mov eax, dword [ebx + 0x90]
movzx eax, word [eax + ecx*2]
cmp dword [ebx + 0xe0], esi
je 0x44d6d0
cmp ax, 0x5c
jne 0x44d680
lea edi, [ecx + 1]
cmp edi, dword [ebx + 0x94]
jge 0x44d680
mov esi, dword [ebx + 0x90]
movzx esi, word [esi + edi*2]
cmp si, 0x45
jne 0x44d67e
and dword [ebx + 0xe4], 0
and dword [ebx + 0xe0], 0
add ecx, 2
xor eax, eax
jmp 0x44dd9a
xor esi, esi
mov edi, dword [ebx + 0xe4]
cmp edi, esi
je 0x44d6a8
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 0x44d6b5
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 0x44dda0
movzx edi, ax
cmp edi, 0x2e
jg 0x44d8c4
je 0x44dcdc
cmp edi, 0x24
jg 0x44d792
je 0x44dcdc
cmp edi, esi
je 0x44d907
cmp edi, 8
jle 0x44d907
cmp edi, 0xd
jle 0x44d782
cmp edi, 0x20
je 0x44d782
cmp edi, 0x23
jne 0x44d907
test byte [ebx + 4], 0x20
je 0x44d907
lea eax, [ecx + 1]
cmp eax, dword [ebx + 0x94]
mov dword [ebx + 0xd8], eax
jge 0x44d886
cmp eax, dword [ebx + 0x94]
jge 0x44d76c
mov ecx, dword [ebx + 0x90]
movzx ecx, word [ecx + eax*2]
cmp cx, 0xa
je 0x44d886
cmp eax, dword [ebx + 0x94]
jge 0x44d76c
mov ecx, dword [ebx + 0x90]
movzx ecx, word [ecx + eax*2]
cmp cx, 0xd
je 0x44d886
inc eax
mov ecx, eax
mov dword [ebx + 0xd8], eax
cmp ecx, dword [ebx + 0x94]
jl 0x44d734
jmp 0x44d886
test byte [ebx + 4], 0x20
je 0x44d907
inc ecx
jmp 0x44d677
cmp edi, 0x28
je 0x44d7d3
jle 0x44d907
cmp edi, 0x2b
jle 0x44dcdc
cmp edi, 0x2d
jne 0x44d907
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 0x44dcf8
mov dword [ebp - 0x18], esi
jmp 0x44dd76
lea edx, [ecx + 1]
cmp edx, dword [ebx + 0x94]
jl 0x44d7e3
mov dword [ebp - 4], esi
jmp 0x44d7f0
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 0x44d7ff
xor edi, edi
jmp 0x44d809
mov esi, dword [ebx + 0x90]
movzx edi, word [esi + edx*2]
cmp word [ebp - 4], 0x3f
jne 0x44d88d
cmp di, 0x23
jne 0x44d88d
cmp edx, dword [ebx + 0x94]
mov dword [ebx + 0xd8], edx
jge 0x44d851
mov eax, dword [ebx + 0xd8]
cmp eax, dword [ebx + 0x94]
jge 0x44d842
mov ecx, dword [ebx + 0x90]
movzx ecx, word [ecx + eax*2]
cmp cx, 0x29
je 0x44d851
inc eax
mov dword [ebx + 0xd8], eax
cmp eax, dword [ebx + 0x94]
jl 0x44d824
mov eax, dword [ebx + 0xd8]
cmp eax, dword [ebx + 0x94]
jge 0x44dd8c
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebx + 0xd8]
movzx eax, word [eax + ecx*2]
cmp ax, 0x29
jne 0x44dd8c
mov eax, ecx
inc eax
mov dword [ebx + 0xd8], eax
xor eax, eax
jmp 0x44dda0
cmp dword [ebx + 0xdc], 0
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x14], ecx
lea edi, [ebx + 0xc8]
lea esi, [ebp - 0x1c]
jle 0x44d8b6
and dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 1
jmp 0x44dd79
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], eax
jmp 0x44dd79
cmp edi, 0x5c
jg 0x44dcc2
je 0x44d938
cmp edi, 0x3a
je 0x44d921
cmp edi, 0x3f
je 0x44dcdc
cmp edi, 0x5b
jne 0x44d907
cmp dword [ebx + 0xdc], esi
je 0x44d90f
lea edi, [ecx + 1]
cmp edi, dword [ebx + 0x94]
jge 0x44d907
mov esi, dword [ebx + 0x90]
movzx esi, word [esi + edi*2]
cmp si, 0x3a
je 0x44d90f
xor esi, esi
mov dword [ebp - 0x18], esi
jmp 0x44d9f9
mov esi, dword [ebx + 0xdc]
inc esi
mov dword [ebx + 0xdc], esi
jmp 0x44d9f6
lea edi, [ebx + 0xb8]
cmp word [edi], 0x5b
jne 0x44d907
cmp dword [edi + 4], edx
je 0x44d9f6
jmp 0x44d907
lea edi, [ecx + 1]
cmp edi, dword [ebx + 0x94]
jl 0x44d9dc
mov dword [ebp - 0xc], esi
movzx edx, si
cmp edx, 0x64
push 2
pop edi
mov dword [ebp - 8], edi
jg 0x44dac2
je 0x44da1b
cmp edx, 0x51
jg 0x44da63
je 0x44d9cd
test edx, edx
je 0x44da2b
cmp edx, 0x40
jle 0x44db44
cmp edx, 0x42
jle 0x44da1b
cmp edx, 0x44
je 0x44da1b
cmp edx, 0x45
je 0x44d666
cmp edx, 0x47
je 0x44da0e
cmp edx, 0x4c
jne 0x44db44
lea eax, [ebx + 0xe4]
cmp dword [eax], 0
jne 0x44d9ba
mov edx, dword [sym.imp.MSVCR80.dll_tolower]
mov dword [eax], edx
lea eax, [ebx + 0xe4]
cmp dword [eax], 0
jne 0x44d9cd
mov edx, dword [sym.imp.MSVCR80.dll_toupper]
mov dword [eax], edx
mov dword [ebx + 0xe0], 1
jmp 0x44d674
mov esi, dword [ebx + 0x90]
movzx esi, word [esi + edi*2]
lea edi, [esi - 0x30]
cmp di, 9
mov dword [ebp - 0xc], esi
ja 0x44d94a
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 0x44dd76
cmp dword [ebx + 0xdc], 0
jg 0x44d674
mov word [ebp - 0x1c], si
mov dword [ebp - 0x18], 1
jmp 0x44dcba
mov esi, dword [ebx + 0x94]
lea edx, [ecx + 1]
cmp edx, esi
mov dword [ebp - 0x14], ecx
lea esi, [ebp - 0x1c]
jl 0x44da49
xor edx, edx
inc edx
mov dword [ebp - 8], edx
mov dword [ebp - 0x10], edx
jmp 0x44da50
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 0x44dd79
sub edx, 0x53
je 0x44da1b
sub edx, edi
je 0x44d9ba
sub edx, edi
je 0x44da1b
sub edx, 3
je 0x44da1b
sub edx, 7
je 0x44dab7
dec edx
jne 0x44db44
cmp dword [ebx + 0xdc], edx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], ecx
lea edi, [ebx + 0xc8]
jle 0x44daa7
and dword [ebp - 0x18], edx
mov word [ebp - 0x1c], 8
jmp 0x44dd76
mov word [ebp - 0x1c], si
mov dword [ebp - 0x18], 1
jmp 0x44dd76
mov word [ebp - 0x1c], 7
jmp 0x44dcb6
cmp edx, 0x73
jg 0x44db1b
je 0x44da1b
sub edx, 0x65
je 0x44db10
dec edx
je 0x44db05
dec edx
je 0x44da1b
sub edx, 4
je 0x44da1b
sub edx, 3
je 0x44dafa
sub edx, 4
jne 0x44db44
mov word [ebp - 0x1c], 0xd
jmp 0x44dcb6
mov word [ebp - 0x1c], 0xa
jmp 0x44dcb6
mov word [ebp - 0x1c], 0xc
jmp 0x44dcb6
mov word [ebp - 0x1c], 0x1b
jmp 0x44dcb6
sub edx, 0x74
je 0x44dcb0
dec edx
je 0x44dbc9
dec edx
je 0x44dbbe
dec edx
je 0x44da1b
dec edx
je 0x44db4d
sub edx, edi
je 0x44da1b
mov word [ebp - 0x1c], si
jmp 0x44dcb6
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x94]
jge 0x44db68
mov edx, dword [ebx + 0x90]
movzx edx, word [edx + eax*2]
cmp dx, 0x7b
je 0x44dbc9
mov ecx, dword [ebx + 0x90]
and dword [ebp - 0xc], 0
test ecx, ecx
jne 0x44db7b
mov ecx, 0x50dae4
lea eax, [ecx + eax*2]
push eax
lea ecx, [ebp - 0xc]
call fcn.0044e283
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 0x44dbaa
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 0x44dd92
mov word [ebp - 0x1c], 0xb
jmp 0x44dcb6
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x94]
jge 0x44dbe4
mov edx, dword [ebx + 0x90]
movzx edx, word [edx + eax*2]
cmp dx, 0x7b
je 0x44dc27
mov ecx, dword [ebx + 0x90]
and dword [ebp - 0xc], 0
test ecx, ecx
jne 0x44dbf7
mov ecx, 0x50dae4
lea eax, [ecx + eax*2]
push eax
push 4
lea ecx, [ebp - 0xc]
pop edi
call fcn.0044e283
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 0x44dba6
mov word [ebp - 0x1c], ax
jmp 0x44dbaa
mov eax, dword [ebx + 0x90]
and dword [ebp - 0xc], 0
test eax, eax
jne 0x44dc3a
mov eax, 0x50dae4
lea eax, [eax + ecx*2 + 6]
push eax
push 8
lea ecx, [ebp - 0xc]
pop edi
call fcn.0044e283
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 0x44dc89
cmp edx, dword [ebx + 0x94]
jge 0x44dc77
mov edi, dword [ebx + 0x90]
movzx edi, word [edi + edx*2]
cmp di, 0x7d
je 0x44dc89
mov edi, dword [ebx + 0xd8]
inc ecx
add edi, ecx
inc edx
cmp edi, dword [ebx + 0x94]
jl 0x44dc5f
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 0x44dd92
mov word [ebp - 0x1c], 9
and dword [ebp - 0x18], 0
mov dword [ebp - 0x10], edi
jmp 0x44da00
cmp edi, 0x5d
je 0x44dd51
cmp edi, 0x5e
je 0x44dcfd
add edi, 0xffffff85
cmp edi, 2
ja 0x44d907
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 0x44d7cb
mov dword [ebp - 0x18], edx
jmp 0x44dd76
cmp dword [ebx + 0xdc], esi
je 0x44d9f6
cmp word [ebx + 0xb8], 0x5b
jne 0x44dd1f
cmp dword [ebx + 0xbc], edx
je 0x44d9f6
lea edi, [ebx + 0xa8]
cmp word [edi], 0x5b
jne 0x44d907
cmp dword [edi + 4], edx
jne 0x44d907
cmp word [ebx + 0xb8], 0x3a
jne 0x44d907
cmp dword [ebx + 0xbc], edx
jmp 0x44d930
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 0x44dd7f
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 0x44dd92
and dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 1
jmp 0x44dd76
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