Function at 0x4ba240
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x88
mov eax, dword [esp + 0x98]
push ebx
push ebp
push esi
mov esi, dword [esp + 0xa8]
mov ecx, dword [eax]
push edi
mov edi, dword [esp + 0x9c]
mov edx, dword [esi]
mov dword [esp + 0x30], ecx
push 0x1f
push edi
mov ecx, esi
call dword [edx + 0x38]
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
xor ebp, ebp
xor bl, bl
lea ecx, [edi + eax]
and edx, 0x1f
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edi
mov byte [esp + 0x1c], 1
mov byte [esp + 0x1d], bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov eax, dword [esi]
push 0x1f
push edi
mov ecx, esi
call dword [eax + 0x38]
mov ecx, dword [esp + 0x10]
push edi
mov edx, dword [ecx]
call dword [edx + 0x44]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edi, 0x20
mov esi, eax
push edi
push eax
call fcn.0049e3b0
mov ecx, dword [esp + 0x10]
and eax, 0xff
mov dword [esp + 0x28], eax
cmp dword [ecx + 0xfb0], ebp
je 0x4ba31a
mov edx, dword [ecx]
push eax
call dword [edx]
test al, al
je 0x4ba31a
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
inc esi
push edi
shl edx, 8
push esi
mov dword [esp + 0x30], edx
call fcn.0049e3b0
mov ecx, dword [esp + 0x28]
and eax, 0xff
or ecx, eax
mov dword [esp + 0x28], ecx
push esi
lea ecx, [esp + 0x14]
call fcn.0049e140
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp edx, eax
jae 0x4ba7eb
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
jmp 0x4ba34b
mov edx, dword [esp + 0x18]
mov edi, 0x20
cmp eax, 6
jne 0x4ba3dc
cmp ecx, 0x2e
jne 0x4ba39e
mov eax, dword [esp + 0x28]
cmp eax, 0x2a
je 0x4ba3b4
cmp eax, 0x2f
je 0x4ba3b4
cmp eax, 0x5c
je 0x4ba3b4
cmp eax, 0x5e
je 0x4ba3b4
cmp eax, 0x27
jne 0x4ba39e
lea ecx, [esp + 0x10]
call fcn.0049e250
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx]
dec edx
push edx
call dword [eax + 0x48]
mov dword [esp + 0x20], ebp
mov bl, 1
jmp 0x4ba541
mov ecx, dword [esp + 0x10]
dec edx
push 6
push edx
mov eax, dword [ecx]
call dword [eax + 0x48]
mov dword [esp + 0x20], ebp
jmp 0x4ba541
lea ecx, [esp + 0x10]
call fcn.0049e250
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], ebp
xor bl, bl
jmp 0x4ba541
cmp eax, 4
jne 0x4ba452
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004f79d4
add esp, 4
test eax, eax
jne 0x4ba535
cmp dword [esp + 0x28], 0x5f
je 0x4ba535
lea edx, [esp + 0x34]
push 0x64
push edx
lea ecx, [esp + 0x18]
call fcn.004e03f0
lea eax, [esp + 0x34]
mov ecx, esi
push eax
call fcn.004db760
test al, al
je 0x4ba440
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], ebp
xor bl, bl
jmp 0x4ba541
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], 7
push 7
mov edx, dword [ecx]
jmp 0x4ba4b6
cmp eax, 3
jne 0x4ba4c7
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004f792f
add esp, 4
test eax, eax
jne 0x4ba535
mov eax, dword [esp + 0x28]
cmp eax, 0x2e
je 0x4ba535
cmp eax, 0x65
je 0x4ba535
cmp eax, 0x45
je 0x4ba535
cmp eax, 0x2b
je 0x4ba495
cmp eax, 0x2d
jne 0x4ba4ab
mov eax, dword [esp + 0x24]
cmp eax, 0x65
je 0x4ba535
cmp eax, 0x45
je 0x4ba535
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
push eax
mov edx, dword [ecx]
mov eax, dword [esp + 0x1c]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], ebp
mov bl, 1
jmp 0x4ba541
cmp eax, 5
jne 0x4ba4d3
cmp dword [esp + 0x28], 0x27
jmp 0x4ba4dd
cmp eax, 8
jne 0x4ba50f
cmp dword [esp + 0x28], 0x22
jne 0x4ba74d
cmp ecx, 0x5c
je 0x4ba74d
lea ecx, [esp + 0x10]
call fcn.0049e250
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov dword [esp + 0x20], ebp
jmp 0x4ba541
cmp eax, 1
je 0x4ba519
cmp eax, 2
jne 0x4ba539
mov cl, byte [esp + 0x1d]
test cl, cl
je 0x4ba539
mov ecx, dword [esp + 0x10]
dec edx
push eax
push edx
mov ebx, dword [ecx]
call dword [ebx + 0x48]
mov dword [esp + 0x20], ebp
xor bl, bl
jmp 0x4ba541
mov eax, dword [esp + 0x20]
cmp eax, ebp
jne 0x4ba74d
mov ecx, dword [esp + 0x28]
push ecx
call dword [esp + 0xb4]
add esp, 4
test al, al
je 0x4ba572
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 1
jmp 0x4ba749
mov eax, dword [esp + 0x28]
cmp eax, 0x21
jne 0x4ba599
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 2
jmp 0x4ba749
cmp eax, 0x27
jne 0x4ba5cf
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
test bl, bl
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x1c]
je 0x4ba5c0
dec eax
push eax
call dword [edx + 0x48]
mov eax, 6
jmp 0x4ba749
dec eax
push eax
call dword [edx + 0x48]
mov eax, 5
jmp 0x4ba749
cmp eax, 0x22
jne 0x4ba5f2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 8
jmp 0x4ba749
push eax
call fcn.004f792f
add esp, 4
test eax, eax
jne 0x4ba730
cmp dword [esp + 0x28], 0x2e
jne 0x4ba61f
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004f792f
add esp, 4
test eax, eax
jne 0x4ba730
mov edx, dword [esp + 0x28]
push edx
call fcn.004f78b1
add esp, 4
test eax, eax
je 0x4ba64e
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx]
dec edx
push edx
call dword [eax + 0x48]
mov eax, 4
jmp 0x4ba749
mov bl, byte [esp + 0x28]
cmp bl, 0x80
jae 0x4ba66b
movsx eax, bl
push eax
call fcn.004f79d4
add esp, 4
test eax, eax
jne 0x4ba6eb
cmp bl, 0x25
je 0x4ba701
cmp bl, 0x5e
je 0x4ba701
cmp bl, 0x26
je 0x4ba701
cmp bl, 0x2a
je 0x4ba701
cmp bl, 0x28
je 0x4ba701
cmp bl, 0x29
je 0x4ba701
cmp bl, 0x2d
je 0x4ba701
cmp bl, 0x2b
je 0x4ba701
cmp bl, 0x3d
je 0x4ba701
cmp bl, 0x7c
je 0x4ba701
cmp bl, 0x7b
je 0x4ba701
cmp bl, 0x7d
je 0x4ba701
cmp bl, 0x5b
je 0x4ba701
cmp bl, 0x5d
je 0x4ba701
cmp bl, 0x3a
je 0x4ba701
cmp bl, 0x3b
je 0x4ba701
cmp bl, 0x3c
je 0x4ba701
cmp bl, 0x3e
je 0x4ba701
cmp bl, 0x2c
je 0x4ba701
cmp bl, 0x2f
je 0x4ba701
cmp bl, 0x3f
je 0x4ba701
cmp bl, 0x21
je 0x4ba701
cmp bl, 0x2e
je 0x4ba701
cmp bl, 0x7e
je 0x4ba701
mov eax, dword [esp + 0x28]
cmp eax, 0x40
je 0x4ba705
cmp eax, 0x5c
je 0x4ba705
mov eax, dword [esp + 0x20]
xor bl, bl
jmp 0x4ba74d
mov eax, dword [esp + 0x28]
cmp eax, 0x29
je 0x4ba713
cmp eax, 0x5d
je 0x4ba713
xor bl, bl
jmp 0x4ba715
mov bl, 1
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 6
jmp 0x4ba749
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx]
dec eax
push eax
call dword [edx + 0x48]
mov eax, 3
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp edx, ecx
jae 0x4ba7ac
mov dl, byte [esp + 0x1d]
mov eax, dword [esp + 0x28]
mov byte [esp + 0x1c], dl
mov edx, dword [esp + 0x18]
inc edx
cmp eax, 0x100
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], edx
jl 0x4ba780
mov eax, edx
inc eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
xor ecx, ecx
cmp eax, 0x100
setge cl
add ecx, edx
mov dword [esp + 0x28], eax
push ecx
lea ecx, [esp + 0x14]
call fcn.0049e140
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
jmp 0x4ba7c4
mov ecx, edi
mov byte [esp + 0x1c], 0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov byte [esp + 0x1d], 1
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
cmp edx, edi
jb 0x4ba342
mov ecx, dword [esp + 0x10]
dec edx
push eax
push edx
mov esi, dword [ecx]
call dword [esi + 0x48]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret
mov eax, dword [esp + 0x20]
jmp 0x4ba7d4