Function at 0x5b7d98
Capabilities:
Parse credit card information

Disassembly:
cmp esi, dword [esp + 0x18]
jb 0x5b7d1a
mov byte [esp + 0x34], 0
mov dl, byte [esp + 0x13]
test dl, dl
je 0x5b7d3c
mov dl, byte [esp + 0x21]
test dl, dl
je 0x5b811c
mov ecx, dword [esp + 0x14]
dec esi
push eax
push esi
mov edx, dword [ecx]
jmp 0x5b80f0
cmp ecx, 0x61
jl 0x5b7d4a
cmp ecx, 0x7a
jle 0x5b8101
cmp ecx, 0x41
jl 0x5b7d58
cmp ecx, 0x5a
jle 0x5b8101
cmp ecx, 0x40
je 0x5b8101
cmp ecx, 0x21
je 0x5b8101
cmp ecx, 0x3f
je 0x5b8101
cmp eax, 4
jne 0x5b7f50
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
call dword [eax + 0x40]
mov ecx, dword [esp + 0x1c]
sub ecx, eax
cmp ecx, 1
jne 0x5b7ddc
mov ecx, dword [esp + 0x2c]
mov eax, 0x5e
add byte [ebx], bh
invalid
jne 0x5b7db4
add byte [ebx], bh
enter 0x1775, 0x39
inc esp
and al, 0x30
cmp dword [esp + 0x30], eax
jne 0x5b7db4
mov esi, 2
lea ecx, [esp + 0x14]
call 0x5ebfe8
dec esi
jne 0x5b7da8
lea ecx, [esp + 0x14]
call 0x5ebfe8
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, ebp
mov dword [esp + 0x24], eax
jmp 0x5b7f4c
lea ecx, [esp + 0x3c]
push 0x63
push ecx
lea ecx, [esp + 0x1c]
call 0x5f70f8
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3d]
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x3c]
mov esi, ecx
push esi
push edx
push eax
call 0x663ff8
mov edi, dword [esp + 0x44]
mov byte [esp + esi + 0x48], 0
add esp, 0xc
mov eax, dword [edi + 0xc]
test eax, eax
je 0x5b7f2d
mov al, byte [esp + 0x35]
test al, al
je 0x5b7f2d
dec esi
cmp esi, 1
jne 0x5b7e4e
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
jmp 0x5b7f41
lea ecx, [esp + 0x3c]
push ecx
mov ecx, edi
call 0x5f2518
test al, al
je 0x5b7ecc
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov cl, byte [esp + 0x36]
mov eax, 4
test cl, cl
mov dword [esp + 0x24], eax
je 0x5b7f4a
mov edi, 0xc72714
lea esi, [esp + 0x3c]
mov dl, byte [esi]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x5b7eb8
test cl, cl
je 0x5b7eb4
mov dl, byte [esi + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x5b7eb8
add esi, 2
add edi, 2
test cl, cl
jne 0x5b7e90
xor ecx, ecx
jmp 0x5b7ebd
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x5b7f4a
mov bl, 1
jmp 0x5b7f4c
mov al, byte [esp + 0x36]
test al, al
je 0x5b7f15
test bl, bl
jne 0x5b7f15
cmp byte [esp + 0x3c], 0x69
jne 0x5b7f15
cmp byte [esp + 0x3d], 0x66
jne 0x5b7f15
push 0xc72710
mov ecx, edi
call 0x5f2518
test al, al
je 0x5b7f15
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x20]
mov eax, dword [ecx]
dec edx
push edx
call dword [eax + 0x48]
mov eax, 4
mov dword [esp + 0x24], eax
jmp 0x5b7f4c
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
dec edx
mov eax, dword [ecx]
push ebp
push edx
call dword [eax + 0x48]
mov eax, ebp
jmp 0x5b7f46
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x20]
mov eax, dword [ecx]
dec edx
push edx
call dword [eax + 0x48]
mov eax, 4
mov dword [esp + 0x24], eax
xor bl, bl
mov ecx, dword [esp + 0x2c]
cmp ecx, 0x25
jne 0x5b7fa2
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 3
call 0x5ebfe8
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov cl, byte [esp + 0x37]
xor eax, eax
test cl, cl
sete byte [esp + 0x13]
mov dword [esp + 0x24], eax
xor bl, bl
jmp 0x5b8118
cmp ecx, 0x5e
jne 0x5b7fe5
cmp dword [esp + 0x30], 0x5e
jne 0x5b808e
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], ebp
call 0x5ebfe8
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
dec eax
push eax
jmp 0x5b810f
cmp ecx, 0x5b
je 0x5b8012
cmp ecx, 0x5d
je 0x5b8012
cmp ecx, 0x3d
je 0x5b8012
cmp ecx, 0x23
je 0x5b8012
cmp ecx, 0x28
je 0x5b8012
cmp ecx, 0x29
je 0x5b8012
cmp ecx, 0x3c
je 0x5b8012
cmp ecx, 0x3e
je 0x5b8012
cmp ecx, 0x22
jne 0x5b8032
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 1
xor bl, bl
mov dword [esp + 0x24], eax
jmp 0x5b8118
cmp ecx, 0x7b
je 0x5b8041
cmp ecx, 0x7d
je 0x5b8041
cmp ecx, 0x24
jne 0x5b8061
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 2
xor bl, bl
mov dword [esp + 0x24], eax
jmp 0x5b8118
cmp ecx, 0x7e
je 0x5b808e
cmp ecx, 0x5f
je 0x5b808e
cmp ecx, 0x26
je 0x5b808e
cmp ecx, 0x2d
je 0x5b808e
cmp ecx, 0x2b
je 0x5b808e
cmp ecx, 0x22
je 0x5b808e
cmp ecx, 0x60
je 0x5b808e
cmp ecx, 0x2f
je 0x5b808e
cmp ecx, 0x7c
jne 0x5b80ab
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 3
xor bl, bl
mov dword [esp + 0x24], eax
jmp 0x5b8118
cmp ecx, 0x5c
jne 0x5b80c7
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 4
jmp 0x5b8114
cmp ecx, 0x20
jne 0x5b80db
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [ecx]
dec eax
push eax
jmp 0x5b810f
mov cl, byte [esp + 0x21]
push eax
mov eax, dword [esp + 0x20]
test cl, cl
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
je 0x5b80d7
dec eax
push eax
call dword [edx + 0x48]
mov eax, ebp
xor bl, bl
mov dword [esp + 0x24], eax
mov byte [esp + 0x13], bl
jmp 0x5b8118
cmp eax, 4
je 0x5b811c
mov ecx, dword [esp + 0x14]
dec esi
push eax
push esi
mov edx, dword [ecx]
call dword [edx + 0x48]
mov eax, ebp
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp esi, edx
jae 0x5b816e
mov al, byte [esp + 0x21]
inc esi
cmp ecx, 0x100
mov byte [esp + 0x20], al
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], esi
jl 0x5b8146
inc esi
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x30]
xor ecx, ecx
cmp eax, 0x100
mov dword [esp + 0x2c], eax
setge cl
add ecx, esi
push ecx
lea ecx, [esp + 0x18]
call fcn.005b4d18
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
jmp 0x5b8189
mov ecx, 0x20
mov byte [esp + 0x20], 0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov byte [esp + 0x21], 1
mov dl, byte [esp + 0x34]
mov esi, dword [esp + 0x1c]
test dl, dl
jne 0x5b7d0f
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ebp
dec esi
push ebp
mov edx, dword [ecx]
push esi
call dword [edx + 0x48]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret