Function at 0x44a0a0
Capabilities:
Parse credit card information

Disassembly:
push 0xffffffffffffffff
push 0x4af728
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
push esi
mov esi, dword [esp + 0x64]
xor ebx, ebx
push edi
push ebx
mov al, byte [esi]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], al
call fcn.00410c90
mov ecx, dword [0x4b49e8]
push ecx
push ebx
push esi
lea ecx, [esp + 0x34]
call fcn.004111c0
mov edi, 0x4d83ac
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x60], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4d83ac
mov ecx, esi
call fcn.00410d10
mov dl, byte [esp + 0x68]
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x38], dl
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov ecx, dword [esp + 0x30]
xor eax, eax
cmp ecx, ebx
mov byte [esp + 0x60], 1
mov byte [esp + 0xf], bl
mov byte [esp + 0xe], bl
mov byte [esp + 0xd], bl
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
jbe 0x44a984
mov ecx, dword [esp + 0x2c]
push ebp
mov ebp, esi
test eax, eax
jne 0x44a17a
test ecx, ecx
je 0x44a15c
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov eax, dword [esp + 0x30]
jmp 0x44a161
mov eax, 0x4b49e4
mov al, byte [eax]
mov byte [esp + 0x1c], al
mov ecx, dword [esp + 0x1c]
push ecx
push 1
mov ecx, ebp
call fcn.00418c60
jmp 0x44a531
lea ecx, [esp + 0x3c]
call fcn.004137b0
test eax, eax
jne 0x44a3c6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
lea esi, [eax - 1]
cmp ecx, esi
mov ecx, dword [esp + 0x30]
jb 0x44a1b8
test ecx, ecx
je 0x44a1b8
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
lea edx, [ecx + esi]
jmp 0x44a1bd
mov edx, 0x4b49e4
cmp byte [edx], 0x3d
jne 0x44a283
mov edx, dword [esp + 0x34]
mov esi, eax
cmp edx, eax
jb 0x44a1ea
test ecx, ecx
je 0x44a1ea
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
lea edx, [ecx + esi]
jmp 0x44a1ef
mov edx, 0x4b49e4
cmp byte [edx], 0x3f
jne 0x44a283
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x14]
push edx
push eax
lea ecx, [esp + 0x44]
call fcn.0041f4d0
mov eax, dword [ebp + 8]
test eax, eax
je 0x44a531
mov ecx, ebp
call fcn.0041f450
mov eax, dword [ebp + 4]
test eax, eax
jne 0x44a228
xor edi, edi
jmp 0x44a22d
mov edi, dword [ebp + 8]
add edi, eax
mov ecx, ebp
call fcn.0041f450
mov ecx, dword [ebp + 4]
test ecx, ecx
jne 0x44a23f
xor eax, eax
jmp 0x44a244
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, ebp
lea esi, [eax - 1]
call fcn.0041f450
mov ecx, dword [ebp + 4]
test esi, esi
jne 0x44a259
xor eax, eax
jmp 0x44a25d
mov eax, esi
sub eax, ecx
test edi, edi
jne 0x44a271
xor ecx, ecx
push ecx
push eax
mov ecx, ebp
call fcn.0041f330
jmp 0x44a531
sub edi, esi
mov ecx, edi
push ecx
push eax
mov ecx, ebp
call fcn.0041f330
jmp 0x44a531
mov dl, byte [esp + 0x11]
test dl, dl
je 0x44a37a
mov edx, dword [esp + 0x34]
mov esi, eax
cmp edx, eax
jb 0x44a2b3
test ecx, ecx
je 0x44a2b3
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
lea edx, [ecx + esi]
jmp 0x44a2b8
mov edx, 0x4b49e4
cmp byte [edx], 9
je 0x44a314
mov edx, dword [esp + 0x34]
mov esi, eax
cmp edx, eax
jb 0x44a2e1
test ecx, ecx
je 0x44a2e1
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
lea edx, [ecx + esi]
jmp 0x44a2e6
mov edx, 0x4b49e4
cmp byte [edx], 0x20
je 0x44a314
mov edx, dword [esp + 0x34]
mov byte [esp + 0x11], 0
cmp edx, eax
mov esi, eax
jb 0x44a322
test ecx, ecx
je 0x44a322
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
lea edx, [ecx + esi]
jmp 0x44a327
mov ebp, dword [esp + 0x6c]
mov byte [esp + 0x11], 1
jmp 0x44a539
mov edx, 0x4b49e4
cmp byte [edx], 0x3d
je 0x44a37a
mov esi, dword [esp + 0x18]
cmp esi, eax
jge 0x44a37a
mov edi, dword [esp + 0x6c]
cmp dword [esp + 0x34], esi
jb 0x44a354
test ecx, ecx
je 0x44a354
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
lea eax, [ecx + esi]
jmp 0x44a359
mov eax, 0x4b49e4
mov dl, byte [eax]
mov ecx, edi
mov byte [esp + 0x20], dl
mov eax, dword [esp + 0x20]
push eax
push 1
call fcn.00418c60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
inc esi
cmp esi, eax
jl 0x44a338
mov edx, dword [esp + 0x34]
mov esi, eax
cmp edx, eax
jb 0x44a39a
test ecx, ecx
je 0x44a39a
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
lea eax, [ecx + esi]
jmp 0x44a39f
mov eax, 0x4b49e4
mov dl, byte [eax]
mov ecx, dword [esp + 0x6c]
mov byte [esp + 0x24], dl
mov eax, dword [esp + 0x24]
push eax
push 1
call fcn.00418c60
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x6c]
jmp 0x44a539
mov eax, dword [esp + 0x40]
test eax, eax
je 0x44a3e0
mov ecx, dword [esp + 0x44]
sub ecx, eax
sar ecx, 2
cmp ecx, 3
jae 0x44a5d9
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
cmp ecx, eax
mov ecx, dword [esp + 0x30]
mov esi, eax
jb 0x44a40c
test ecx, ecx
je 0x44a40c
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
lea edx, [ecx + esi]
jmp 0x44a411
mov edx, 0x4b49e4
cmp byte [edx], 0x3f
jne 0x44a539
mov edx, dword [esp + 0x40]
test edx, edx
je 0x44a50d
mov esi, dword [esp + 0x44]
sub esi, edx
and esi, 0xfffffffc
cmp esi, 8
jne 0x44a50d
mov ebx, dword [edx + 4]
mov esi, eax
sub esi, ebx
cmp esi, 2
jne 0x44a582
mov edx, dword [esp + 0x34]
lea esi, [eax - 1]
cmp edx, esi
jb 0x44a46d
test ecx, ecx
je 0x44a46d
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
lea edx, [ecx + esi]
jmp 0x44a472
mov edx, 0x4b49e4
cmp byte [edx], 0x62
je 0x44a519
mov edx, dword [esp + 0x34]
lea esi, [eax - 1]
cmp edx, esi
jb 0x44a4a0
test ecx, ecx
je 0x44a4a0
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
lea edx, [ecx + esi]
jmp 0x44a4a5
mov edx, 0x4b49e4
cmp byte [edx], 0x42
je 0x44a519
mov edx, dword [esp + 0x34]
lea esi, [eax - 1]
cmp edx, esi
jb 0x44a4cf
test ecx, ecx
je 0x44a4cf
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
lea edx, [ecx + esi]
jmp 0x44a4d4
mov edx, 0x4b49e4
cmp byte [edx], 0x71
je 0x44a508
mov edx, dword [esp + 0x34]
lea esi, [eax - 1]
cmp edx, esi
jb 0x44a4fe
test ecx, ecx
je 0x44a4fe
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
lea edx, [ecx + esi]
jmp 0x44a503
mov edx, 0x4b49e4
cmp byte [edx], 0x51
jne 0x44a57e
mov byte [esp + 0x12], 0
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x14]
push edx
push eax
jmp 0x44a528
mov byte [esp + 0x12], 1
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x14]
push ecx
push edx
lea ecx, [esp + 0x44]
call fcn.0041f4d0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
inc eax
cmp eax, edx
mov dword [esp + 0x14], eax
jb 0x44a145
mov esi, dword [esp + 0x40]
pop ebp
test esi, esi
je 0x44a984
mov eax, dword [esp + 0x40]
sub eax, esi
sar eax, 2
je 0x44a984
mov eax, dword [esi]
dec eax
cmp eax, edx
mov dword [esp + 0x10], eax
jae 0x44a984
mov edi, dword [esp + 0x68]
jmp 0x44a93e
mov edx, dword [esp + 0x40]
mov esi, dword [edx]
dec esi
cmp esi, eax
jg 0x44a916
mov edi, dword [esp + 0x6c]
jmp 0x44a597
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x34], esi
jb 0x44a5b2
test ecx, ecx
je 0x44a5b2
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov eax, dword [esp + 0x30]
add eax, esi
jmp 0x44a5b7
mov eax, 0x4b49e4
mov cl, byte [eax]
mov byte [esp + 0x28], cl
mov ecx, edi
mov edx, dword [esp + 0x28]
push edx
push 1
call fcn.00418c60
mov eax, dword [esp + 0x14]
inc esi
cmp esi, eax
jle 0x44a593
jmp 0x44a916
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
cmp ecx, eax
mov ecx, dword [esp + 0x30]
mov esi, eax
jb 0x44a605
test ecx, ecx
je 0x44a605
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
lea edx, [ecx + esi]
jmp 0x44a60a
mov edx, 0x4b49e4
cmp byte [edx], 0x3f
je 0x44a51e
mov edx, dword [esp + 0x34]
mov esi, eax
cmp edx, eax
jb 0x44a637
test ecx, ecx
je 0x44a637
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
lea edx, [ecx + esi]
jmp 0x44a63c
mov edx, 0x4b49e4
cmp byte [edx], 0x3d
jne 0x44a539
mov edx, dword [esp + 0x40]
test edx, edx
je 0x44a539
mov esi, dword [esp + 0x44]
sub esi, edx
sar esi, 2
cmp esi, 4
jb 0x44a539
mov edx, dword [esp + 0x34]
lea esi, [eax - 1]
cmp edx, esi
jb 0x44a688
test ecx, ecx
je 0x44a688
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
lea edx, [ecx + esi]
jmp 0x44a68d
mov edx, 0x4b49e4
cmp byte [edx], 0x3f
jne 0x44a539
mov edx, dword [esp + 0x40]
inc eax
test edx, edx
mov byte [esp + 0x13], 1
mov byte [esp + 0x11], 1
mov dword [esp + 0x18], eax
jne 0x44a6b5
mov edi, dword [esp + 0x44]
xor eax, eax
jmp 0x44a6c0
mov edi, dword [esp + 0x44]
mov eax, edi
sub eax, edx
sar eax, 2
mov esi, dword [edx + eax*4 - 4]
mov eax, dword [edx + 8]
sub esi, eax
dec esi
test esi, esi
jg 0x44a6de
push edi
push edx
lea ecx, [esp + 0x44]
call fcn.0043a9c0
jmp 0x44a531
mov al, byte [esp + 0x12]
test al, al
je 0x44a80a
lea ebx, [esi + 1]
push ebx
call fcn.004a2a14
mov ecx, dword [esp + 0x44]
add esp, 4
test ecx, ecx
mov ebp, eax
jne 0x44a704
xor eax, eax
jmp 0x44a70d
mov eax, dword [esp + 0x44]
sub eax, ecx
sar eax, 2
mov edi, dword [ecx + eax*4 - 4]
mov eax, dword [esp + 0x34]
cmp eax, edi
jb 0x44a732
mov eax, dword [esp + 0x30]
test eax, eax
je 0x44a732
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov eax, dword [esp + 0x30]
add eax, edi
jmp 0x44a737
mov eax, 0x4b49e4
mov byte [eax], 0
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
mov edi, dword [ecx + 8]
inc edi
cmp eax, edi
jb 0x44a764
mov eax, dword [esp + 0x30]
test eax, eax
je 0x44a764
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov edx, dword [esp + 0x30]
lea eax, [edx + edi]
jmp 0x44a769
mov eax, 0x4b49e4
push 0
push 1
push ebx
push ebp
push esi
push eax
call fcn.00418790
add esp, 0x18
test al, al
je 0x44a7ab
push 0x23
push 0xd
push ebp
call fcn.004859a0
push 0x23
push 0xa
push ebp
call fcn.004859a0
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x70]
push ebp
call fcn.0041f750
mov ecx, dword [esp + 0x40]
test ecx, ecx
jne 0x44a7b7
xor eax, eax
jmp 0x44a7c0
mov eax, dword [esp + 0x44]
sub eax, ecx
sar eax, 2
mov esi, dword [ecx + eax*4 - 4]
mov eax, dword [esp + 0x34]
cmp eax, esi
jb 0x44a7f4
mov eax, dword [esp + 0x30]
test eax, eax
je 0x44a7f4
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov eax, dword [esp + 0x30]
push ebp
add eax, esi
mov byte [eax], 0x3f
call fcn.004a2a3d
add esp, 4
jmp 0x44a916
mov eax, 0x4b49e4
push ebp
mov byte [eax], 0x3f
call fcn.004a2a3d
add esp, 4
jmp 0x44a916
test edx, edx
jne 0x44a812
xor eax, eax
jmp 0x44a819
sub edi, edx
sar edi, 2
mov eax, edi
mov esi, dword [edx + eax*4 - 4]
mov eax, dword [esp + 0x34]
cmp eax, esi
jb 0x44a83b
test ecx, ecx
je 0x44a83b
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov ecx, dword [esp + 0x30]
lea eax, [ecx + esi]
jmp 0x44a840
mov eax, 0x4b49e4
mov byte [eax], 0
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
mov esi, dword [edx + 8]
inc esi
cmp eax, esi
jb 0x44a86c
mov eax, dword [esp + 0x30]
test eax, eax
je 0x44a86c
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov eax, dword [esp + 0x30]
add esi, eax
jmp 0x44a871
mov esi, 0x4b49e4
mov cl, byte [esp + 0x6c]
push 0
mov byte [esp + 0x50], cl
lea ecx, [esp + 0x50]
call fcn.00410c90
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
lea ecx, [esp + 0x54]
call fcn.00410d10
lea edx, [esp + 0x4c]
push 0x3d
push edx
mov byte [esp + 0x6c], 2
call fcn.00486c90
mov ecx, dword [esp + 0x48]
add esp, 8
test ecx, ecx
jne 0x44a8bb
xor eax, eax
jmp 0x44a8c4
mov eax, dword [esp + 0x44]
sub eax, ecx
sar eax, 2
mov esi, dword [ecx + eax*4 - 4]
mov eax, dword [esp + 0x34]
cmp eax, esi
jb 0x44a8e9
mov eax, dword [esp + 0x30]
test eax, eax
je 0x44a8e9
lea ecx, [esp + 0x2c]
call fcn.0041f450
mov eax, dword [esp + 0x30]
add eax, esi
jmp 0x44a8ee
mov eax, 0x4b49e4
mov byte [eax], 0x3f
mov ecx, dword [0x4b49e8]
push ecx
lea edx, [esp + 0x50]
push 0
push edx
mov ecx, ebp
call fcn.0041f670
push 1
lea ecx, [esp + 0x50]
mov byte [esp + 0x68], 1
call fcn.00410c90
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
lea ecx, [esp + 0x44]
call fcn.0043a9c0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x6c]
jmp 0x44a539
mov ecx, dword [esp + 0x2c]
cmp edx, eax
mov esi, eax
jb 0x44a95a
test ecx, ecx
je 0x44a95a
lea ecx, [esp + 0x28]
call fcn.0041f450
mov edx, dword [esp + 0x2c]
lea eax, [edx + esi]
jmp 0x44a95f
mov eax, 0x4b49e4
mov al, byte [eax]
mov byte [esp + 0x68], al
mov ecx, dword [esp + 0x68]
push ecx
push 1
mov ecx, edi
call fcn.00418c60
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
inc eax
cmp eax, edx
mov dword [esp + 0x10], eax
jb 0x44a93a
mov edx, dword [esp + 0x3c]
push edx
call fcn.004a2a3d
add esp, 4
xor eax, eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x3c], eax
push 1
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x64], 0xffffffff
call fcn.00410c90
mov ecx, dword [esp + 0x58]
mov al, byte [esp + 0xf]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x58
ret 4