Function at 0x5e7010
Capabilities:
Parse credit card information

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5e7681
sub esp, 0x38
mov eax, dword [esp + 0x40]
test eax, eax
je 0x5e764a
shr eax, 1
mov dword [esp + 8], eax
lea eax, [0x7d0160]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00439eb0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x3c]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
jne 0x5e73ba
mov ebp, dword [esp + 0x40]
dec ebp
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ebx, ebp
jmp 0x5e708e
mov esi, ebx
mov ecx, edi
mov ebx, eax
mov eax, ebp
test esi, esi
je 0x5e7391
mov dword [esp + 0x30], ecx
movzx ebp, byte [ebx]
lea edi, [esi - 1]
mov dword [esp + 0x40], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
lea ecx, [edi + ebx]
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x5e72a4
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], eax
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x5e71bd
cmp esi, 1
je 0x5e7194
movzx ebx, byte [ebx + edi]
cmp bl, 0xb
jne 0x5e714e
lea ebp, [eax + 1]
cmp ebp, edx
jg 0x5e7102
mov edi, dword [esp + 0x30]
mov byte [edi + eax], bl
lea eax, [esi - 2]
mov ebx, eax
neg eax
sar eax, 0x1f
and eax, 1
add eax, ecx
jmp 0x5e7086
mov byte [esp + 0x21], bl
mov dword [esp + 0x40], esi
lea ecx, [0x7d0160]
mov dword [esp], ecx
mov ebx, dword [esp + 0x30]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.0043a030
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
movzx ebx, byte [esp + 0x21]
mov esi, dword [esp + 0x40]
jmp 0x5e70ee
cmp bl, 0xc
je 0x5e70e3
lea ebp, [ebx - 1]
xchg ebp, eax
cmp al, 8
xchg ebp, eax
jbe 0x5e70e3
lea ebp, [ebx - 0xe]
xchg ebp, eax
cmp al, 0x71
xchg ebp, eax
jbe 0x5e70e3
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x54], 0
add esp, 0x38
ret
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x54], 0
add esp, 0x38
ret
xchg ebp, eax
cmp al, 0xb
xchg ebp, eax
jne 0x5e722b
lea ebx, [eax + 1]
cmp ebx, edx
jg 0x5e71e5
mov esi, dword [esp + 0x30]
xchg ebp, ebx
mov byte [esi + eax], bl
xchg ebp, ebx
mov eax, ecx
mov ebp, ebx
mov edi, esi
mov ebx, dword [esp + 0x40]
jmp 0x5e7086
xchg ebp, eax
mov byte [esp + 0x20], al
xchg ebp, eax
lea ecx, [0x7d0160]
mov dword [esp], ecx
mov ebp, dword [esp + 0x30]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.0043a030
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
movzx ebp, byte [esp + 0x20]
jmp 0x5e71cf
xchg ebp, eax
cmp al, 0xc
xchg ebp, eax
je 0x5e71c4
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x5e71c4
xchg ebp, eax
cmp al, 0x21
xchg ebp, eax
je 0x5e71c4
xchg ebp, eax
cmp al, 0x7f
xchg ebp, eax
je 0x5e71c4
lea ebx, [ebp - 1]
cmp bl, 7
jbe 0x5e71c4
lea ebx, [ebp - 0xe]
cmp bl, 0x11
jbe 0x5e71c4
lea ebx, [ebp - 0x23]
cmp bl, 0x38
jbe 0x5e71c4
lea ebx, [ebp - 0x5d]
cmp bl, 0x21
jbe 0x5e71c4
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x54], 0
add esp, 0x38
ret
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x30]
test ebx, ebx
jne 0x5e72d9
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x54], 0
add esp, 0x38
ret
movzx esi, byte [ecx]
xchg esi, eax
cmp al, 0x40
xchg esi, eax
jne 0x5e72b0
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], ebp
lea eax, [ebx - 1]
mov dword [esp + 0x40], eax
mov edx, eax
neg eax
sar eax, 0x1f
and eax, 1
add eax, ecx
mov dword [esp + 0x3c], eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.005e7690
movzx eax, byte [esp + 0x14]
test al, al
je 0x5e7368
mov dword [esp], 0
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], eax
call fcn.0043d060
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x50], eax
mov byte [esp + 0x54], 1
add esp, 0x38
ret
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x54], 0
add esp, 0x38
ret
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x54], 0
add esp, 0x38
ret
mov ebp, dword [esp + 0x40]
jmp 0x5e73de
xchg esi, ebx
mov byte [ecx + eax], bl
xchg esi, ebx
lea esi, [edi - 1]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add ebx, esi
mov eax, ebp
mov ebp, edi
mov dword [esp + 0x24], eax
test ebp, ebp
jle 0x5e7565
movzx esi, byte [ebx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x5e749c
lea esi, [ebp - 1]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add ebx, esi
cmp ebp, 1
je 0x5e7473
test edi, edi
jbe 0x5e767a
lea ebp, [eax + 1]
movzx esi, byte [ebx]
cmp ebp, edx
jle 0x5e73c0
mov dword [esp + 0x3c], ebx
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
mov dword [esp + 0x40], edi
lea ebx, [0x7d0160]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.0043a030
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x3c]
movzx esi, byte [esp + 0x21]
mov edi, dword [esp + 0x40]
jmp 0x5e73c0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x54], 0
add esp, 0x38
ret
lea edi, [esi - 0x30]
xchg edi, eax
cmp al, 9
xchg edi, eax
ja 0x5e74ad
mov edi, ebp
jmp 0x5e7410
lea edi, [esi - 0x61]
xchg edi, eax
cmp al, 0x19
xchg edi, eax
jbe 0x5e74a6
lea edi, [esi - 0x41]
xchg edi, eax
cmp al, 0x19
xchg edi, eax
jbe 0x5e74a6
xchg esi, eax
cmp al, 0x21
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x23
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x24
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x25
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x26
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x27
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x2a
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x2b
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x2d
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x3d
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x3f
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x5e
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x5f
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x60
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x7b
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x7c
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x7d
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x7e
xchg esi, eax
je 0x5e74a6
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
je 0x5e74a6
test eax, eax
je 0x5e7621
movzx esi, word [0x9af3fe]
mov word [esp + 0x22], si
movzx esi, byte [ecx]
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x5e75ac
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x54], 0
add esp, 0x38
ret
lea esi, [eax - 1]
cmp esi, eax
jae 0x5e7673
movzx esi, byte [eax + ecx - 1]
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
je 0x5e7583
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], ebx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x22]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 2
call fcn.004ccf10
movzx eax, byte [esp + 0x18]
test al, al
jne 0x5e7583
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x30]
jmp 0x5e72ac
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x54], 0
add esp, 0x38
ret
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x54], 0
add esp, 0x38
ret
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.0044c200
jmp fcn.005e7010