Function at 0x4feb14
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x13c]
sub esp, 0x1bc
mov eax, dword [0x5620a0]
xor eax, ebp
mov dword [ebp + 0x138], eax
or dword [ebp - 0x60], 0xffffffff
xor ecx, ecx
push ebx
mov ebx, dword [ebp + 0x144]
mov eax, dword [ebx + 8]
push esi
mov esi, dword [ebp + 0x148]
mov dword [esi + 4], eax
mov dword [esi + 0xc], ecx
mov eax, dword [ebx + 8]
push edi
mov edi, dword [ebx + 0xc]
add edi, eax
mov dword [ebp - 0x70], eax
mov al, byte [edi]
test al, al
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x80], ecx
jne 0x4feb80
push 0xfffffffffffffffe
mov dword [esi + 8], ecx
mov dword [esi], ecx
pop eax
jmp 0x4ff09b
movsx eax, al
cmp eax, ecx
mov dword [ebp - 0x64], eax
je 0x4fee00
cmp dword [ebp - 0x78], ecx
je 0x4febfb
movsx eax, byte [ebp - 0x64]
push eax
push 0x518c38
call 0x5d099e
test eax, eax
pop ecx
pop ecx
je 0x4fede4
mov eax, dword [ebp - 0x78]
mov esi, edi
sub esi, dword [ebx + 0xc]
sub esi, eax
cmp dword [ebp - 0x60], 0
jne 0x4febc7
mov dword [ebx], eax
lea eax, [esi + eax - 1]
mov dword [ebx + 4], eax
jmp 0x4febf0
mov ecx, dword [ebp - 0x74]
add ecx, 0x10
push esi
call fcn.004f48de
mov ecx, dword [ebx + 0xc]
add ecx, dword [ebp - 0x78]
push esi
push ecx
push eax
call 0x5d09f0
mov ecx, dword [ebp - 0x74]
add esp, 0xc
push esi
add ecx, 0x10
call fcn.004f7532
xor eax, eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
xor edx, edx
cmp dword [ebp - 0x68], edx
je 0x4fed99
mov eax, dword [ebp - 0x64]
cmp eax, 0x3e
jne 0x4feca5
test byte [ebp - 0x5c], 0xc0
jne 0x4fecbe
mov ecx, dword [ebp - 0x6c]
mov eax, edi
sub eax, dword [ebx + 0xc]
cmp ecx, 1
mov dword [ebp - 0x70], eax
jne 0x4fec60
cmp dword [ebp - 0x60], ecx
mov dword [ebp - 0x68], edx
jne 0x4fec96
cmp dword [ebp - 0x7c], 0x2f
jne 0x4fec96
cmp dword [ebp - 0x80], edx
je 0x4fec54
movsx eax, byte [ebp - 0x80]
push eax
push 0x518c30
call 0x5d099e
test eax, eax
pop ecx
pop ecx
je 0x4fec96
mov eax, dword [ebp - 0x74]
or dword [eax + 0xc], 0x10000
jmp 0x4fec96
cmp eax, ecx
jle 0x4fec8d
mov eax, edi
sub eax, ecx
lea esi, [eax + 1]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x64], ecx
sub eax, esi
jmp 0x4fec77
xor edx, edx
dec dword [ebp - 0x64]
je 0x4fec8a
mov cl, byte [esi]
mov dl, byte [eax + esi]
inc esi
cmp cl, dl
je 0x4fec75
xor edx, edx
jmp 0x4fec8d
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x68], edx
jne 0x4fede4
test byte [ebp - 0x5c], 0x20
je 0x4ff086
jmp 0x4fede4
cmp eax, 0x3c
jne 0x4fecbe
cmp dword [ebp - 0x60], 2
je 0x4ff155
cmp dword [ebp - 0x60], 0xffffffff
je 0x4ff155
test byte [ebp - 0x60], 1
je 0x4fed6e
test byte [ebp - 0x5c], 0xc0
je 0x4fecf7
cmp eax, 0x22
jne 0x4fece6
test byte [ebp - 0x5c], 0x80
je 0x4fed63
xor dword [ebp - 0x5c], 0x80
jmp 0x4fed63
cmp eax, 0x27
jne 0x4fed63
test byte [ebp - 0x5c], 0x40
je 0x4fed63
xor dword [ebp - 0x5c], 0x40
jmp 0x4fed63
cmp eax, 0x22
jne 0x4fed0d
test word [ebp - 0x5c], 0x100
je 0x4fed63
xor dword [ebp - 0x5c], 0x180
jmp 0x4fed63
cmp eax, 0x27
jne 0x4fed23
test word [ebp - 0x5c], 0x100
je 0x4fed63
xor dword [ebp - 0x5c], 0x140
jmp 0x4fed63
cmp eax, 0x3d
jne 0x4fed3c
cmp dword [ebp - 0x7c], eax
je 0x4fed3c
mov ecx, 0x100
test dword [ebp - 0x5c], ecx
jne 0x4fed3c
xor dword [ebp - 0x5c], ecx
jmp 0x4fed63
test word [ebp - 0x5c], 0x100
je 0x4fed63
movsx eax, byte [ebp - 0x64]
push eax
push 0x518a98
call 0x5d099e
pop ecx
test eax, eax
mov eax, dword [ebp - 0x64]
pop ecx
jne 0x4fed63
xor dword [ebp - 0x5c], 0x100
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], eax
jmp 0x4fede4
test byte [ebp - 0x60], 0x40
je 0x4fede4
cmp eax, 0x22
jne 0x4fed88
test byte [ebp - 0x5c], 0x40
jne 0x4fede4
xor dword [ebp - 0x5c], 0x80
jmp 0x4fede4
cmp eax, 0x27
jne 0x4fede4
test byte [ebp - 0x5c], 0x80
jne 0x4fede4
xor dword [ebp - 0x5c], 0x40
jmp 0x4fede4
cmp dword [ebp - 0x5c], edx
je 0x4ff0b3
test byte [ebp - 0x5c], 0x10
je 0x4fee49
cmp dword [ebp - 0x64], 0x3c
je 0x4ff15e
movsx eax, byte [ebp - 0x64]
push eax
push 0x518a98
call 0x5d099e
test eax, eax
pop ecx
pop ecx
jne 0x4fede4
xor dword [ebp - 0x5c], 0x10
mov dword [ebp - 0x60], 2
mov dword [ebp - 0x6c], 1
mov dword [ebp - 0x68], 0x518c2c
push edi
call 0x5d1f40
add edi, eax
movsx eax, byte [edi]
pop ecx
xor ecx, ecx
cmp eax, ecx
mov dword [ebp - 0x64], eax
jne 0x4feb8e
mov esi, dword [ebp - 0x74]
sub edi, dword [ebx + 0xc]
dec edi
cmp dword [ebp - 0x60], 4
mov dword [ebp - 0x70], edi
je 0x4ff086
cmp dword [ebp - 0x60], 2
je 0x4ff086
test byte [ebp - 0x5c], 0x20
mov edx, 0x518c28
jne 0x4ff120
mov eax, dword [ebp - 0x60]
cmp eax, 0x40
je 0x4ff120
cmp eax, 1
jne 0x4ff0f1
mov edx, 0x518c1c
jmp 0x4ff125
test byte [ebp - 0x5c], 1
je 0x4fef02
mov ecx, dword [ebp - 0x64]
xor eax, eax
inc eax
xor dword [ebp - 0x5c], eax
cmp ecx, 0x60
ja 0x4feee8
cmp ecx, 0x40
jbe 0x4fee6f
cmp ecx, 0x5b
jb 0x4feee8
cmp ecx, 0x5f
je 0x4feee8
cmp ecx, 0x3a
je 0x4feee8
cmp ecx, 0x2f
jne 0x4fee8c
mov dword [ebp - 0x6c], eax
mov eax, edi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x60], edx
inc eax
jmp 0x4feef3
cmp ecx, 0x21
jne 0x4fee9a
or dword [ebp - 0x5c], 2
jmp 0x4fede4
cmp ecx, 0x3f
jne 0x4feebc
mov eax, edi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x68], 0x518c18
mov dword [ebp - 0x6c], 2
mov dword [ebp - 0x60], 0x10
inc eax
jmp 0x4feefa
push dword [ebp - 0x70]
lea eax, [ebp - 0x58]
push 0x518c04
push 0x518be8
push eax
mov dword [ebp - 0x68], 0x518be4
mov dword [ebp - 0x6c], 1
call 0x5d2bc3
lea eax, [ebp - 0x58]
jmp 0x4ff03e
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x60], eax
mov eax, edi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x68], 0x518be4
mov dword [ebp - 0x78], eax
jmp 0x4fede4
test byte [ebp - 0x5c], 2
je 0x4fef96
xor dword [ebp - 0x5c], 2
cmp dword [ebp - 0x64], 0x2d
jne 0x4fef1f
or dword [ebp - 0x5c], 4
jmp 0x4fede4
cmp dword [ebp - 0x64], 0x5b
jne 0x4fef34
test byte [ebp - 0x5c], 0x20
jne 0x4fef49
or dword [ebp - 0x5c], 8
jmp 0x4fede4
cmp dword [ebp - 0x64], 0x44
jne 0x4fef49
test byte [ebp - 0x5c], 0x20
jne 0x4fef49
or dword [ebp - 0x5c], 0x20
jmp 0x4fede4
movsx eax, byte [ebp - 0x64]
push eax
push 0x518be0
call 0x5d099e
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x68], 0x518be4
mov dword [ebp - 0x6c], 1
je 0x4fef78
mov dword [ebp - 0x60], 0x40
jmp 0x4fede4
push dword [ebp - 0x70]
lea eax, [ebp + 0xc]
push 0x518bd8
push 0x518be8
push eax
call 0x5d2bc3
lea eax, [ebp + 0xc]
jmp 0x4ff03e
test byte [ebp - 0x5c], 4
je 0x4fefe9
xor dword [ebp - 0x5c], 4
cmp dword [ebp - 0x64], 0x2d
jne 0x4fefc0
mov dword [ebp - 0x68], 0x518bd4
mov dword [ebp - 0x6c], 3
mov dword [ebp - 0x60], 0x20
jmp 0x4fede4
push dword [ebp - 0x70]
lea eax, [ebp + 0x70]
push 0x518bc8
push 0x518be8
push eax
mov dword [ebp - 0x68], 0x518be4
mov dword [ebp - 0x6c], 1
call 0x5d2bc3
lea eax, [ebp + 0x70]
jmp 0x4ff03e
test byte [ebp - 0x5c], 8
je 0x4ff056
push 8
pop eax
xor dword [ebp - 0x5c], eax
cmp dword [ebp - 0x64], 0x43
jne 0x4ff011
mov dword [ebp - 0x68], 0x518bc4
mov dword [ebp - 0x6c], 3
mov dword [ebp - 0x60], eax
jmp 0x4fede4
push dword [ebp - 0x70]
lea eax, [ebp + 0xd4]
push 0x518c28
push 0x518be8
push eax
mov dword [ebp - 0x68], 0x518be4
mov dword [ebp - 0x6c], 1
call 0x5d2bc3
lea eax, [ebp + 0xd4]
mov ecx, dword [ebp - 0x74]
add esp, 0x10
push eax
add ecx, 0x10
call fcn.004f4aff
or dword [ebp - 0x60], 0xffffffff
jmp 0x4fede4
test byte [ebp - 0x5c], 0x20
je 0x4fede4
cmp dword [ebp - 0x64], 0x3c
jne 0x4ff06f
or dword [ebp - 0x5c], 1
jmp 0x4fede4
cmp dword [ebp - 0x64], 0x3e
jne 0x4fede4
sub edi, dword [ebx + 0xc]
mov dword [ebp - 0x60], 0x40
mov dword [ebp - 0x70], edi
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x74]
inc eax
mov dword [ebx + 8], eax
sub eax, dword [ecx + 4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x60]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x138]
pop edi
pop esi
xor ecx, ebp
pop ebx
call 0x5cfbf3
add ebp, 0x13c
leave
ret
cmp dword [ebp - 0x64], 0x3c
jne 0x4ff0c5
mov dword [ebp - 0x5c], 1
jmp 0x4fede4
movsx eax, byte [ebp - 0x64]
push eax
push 0x518a98
mov dword [ebp - 0x60], 4
call 0x5d099e
test eax, eax
pop ecx
pop ecx
je 0x4fedcf
mov dword [ebp - 0x5c], 0x10
jmp 0x4fede4
cmp eax, ecx
jne 0x4ff0fc
mov edx, 0x518bb4
jmp 0x4ff125
cmp eax, 8
jne 0x4ff108
mov edx, 0x518ba4
jmp 0x4ff125
cmp eax, 0x10
jne 0x4ff114
mov edx, 0x518b8c
jmp 0x4ff125
cmp eax, 0x20
jne 0x4ff125
mov edx, 0x518b84
jmp 0x4ff125
mov edx, 0x518b7c
push dword [esi + 4]
or dword [ebp - 0x60], 0xffffffff
push edx
lea eax, [ebp + 0xd4]
push 0x518b5c
push eax
call 0x5d2bc3
add esp, 0x10
lea eax, [ebp + 0xd4]
push eax
lea ecx, [esi + 0x10]
call fcn.004f4aff
jmp 0x4ff086
sub edi, dword [ebx + 0xc]
dec edi
jmp 0x4ff083
sub edi, dword [ebx + 0xc]
mov dword [ebp - 0x60], 4
dec edi
jmp 0x4ff083