Function at 0x4ece60
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55138d
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x5ba200]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x4c], edi
mov esi, dword [ebp + 0xc]
xorps xmm0, xmm0
mov ebx, dword [ebp + 8]
mov ecx, dword [edi + 4]
push 0
push esi
push ebx
mov dword [ebp - 0x54], ebx
movq qword [ebp - 0x34], xmm0
mov dword [ebp - 0x2c], 0
call fcn.00437c80
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x2c], 1
push 2
mov dword [ebp - 4], 0
xorps xmm0, xmm0
mov ecx, dword [edi + 4]
push esi
push ebx
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], 0
call fcn.00437c80
mov esi, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x14], 1
mov byte [ebp - 4], 1
cmp dword [ebp - 0x34], 0
jne 0x4ecf16
push 2
call fcn.0053659c
add esp, 4
mov dword [ebp - 0x34], eax
xor ecx, ecx
mov word [eax], cx
mov dword [ebp - 0x30], ecx
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x34]
mov byte [ebp - 0x2c], 1
mov dword [ebp - 0x3c], ecx
cmp ebx, dword [eax + 0xa0]
jne 0x4ecf38
mov ebx, str.Programs
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
push dword [ebp + 0xc]
mov ecx, dword [edi + 4]
push ebx
call fcn.00437b60
lea ecx, [eax - 1]
cmp ecx, 0x73
ja 0x4ed5d0
mov ecx, dword [edi + 8]
cmp ebx, dword [ecx + 0xa4]
jne 0x4ecfc8
cmp eax, 0xb
jne 0x4ecf70
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x587bdc
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0xc
jne 0x4ecf85
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x587c14
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0xd
jne 0x4ecf9a
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x5909b4
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0xe
jne 0x4ecfaf
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x590aec
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0xf
jne 0x4ed5d0
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x587ca4
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp ebx, dword [ecx + 0xa8]
jne 0x4ed2b4
cmp eax, 0x16
jne 0x4ecfe3
mov ebx, 0x591c44
jmp 0x4ed22d
cmp eax, 0x17
jne 0x4ecff2
mov ebx, 0x591ec8
jmp 0x4ed22d
cmp eax, 0x18
jne 0x4ed007
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x5910bc
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0x19
jne 0x4ed016
mov ebx, 0x58fb44
jmp 0x4ed22d
cmp eax, 0x1a
jne 0x4ed02b
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x591320
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0x1b
jne 0x4ed03a
mov ebx, 0x59242c
jmp 0x4ed22d
cmp eax, 0x6f
jne 0x4ed049
mov ebx, 0x591c44
jmp 0x4ed22d
cmp eax, 0x70
jne 0x4ed058
mov ebx, 0x591ec8
jmp 0x4ed22d
cmp eax, 0x71
jne 0x4ed06d
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x5910bc
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0x72
jne 0x4ed07c
mov ebx, 0x58fb44
jmp 0x4ed22d
cmp eax, 0x73
jne 0x4ed091
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x591320
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0x74
jne 0x4ed0a0
mov ebx, 0x59242c
jmp 0x4ed22d
cmp eax, 0x1f
jne 0x4ed0af
mov ebx, 0x59289c
jmp 0x4ed22d
cmp eax, 0x20
jne 0x4ed0be
mov ebx, 0x592994
jmp 0x4ed22d
cmp eax, 0x21
jne 0x4ed0d3
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x592a14
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0x23
jne 0x4ed0e2
mov ebx, 0x58fc04
jmp 0x4ed22d
cmp eax, 0x24
jne 0x4ed0f7
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x593284
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0x25
jne 0x4ed106
mov ebx, 0x592f34
jmp 0x4ed22d
cmp eax, 0x2a
jne 0x4ed115
mov ebx, 0x5935b8
jmp 0x4ed22d
cmp eax, 0x2b
jne 0x4ed124
mov ebx, 0x5936a8
jmp 0x4ed22d
cmp eax, 0x2c
jne 0x4ed139
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x593774
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0x2d
jne 0x4ed148
mov ebx, 0x58fafc
jmp 0x4ed22d
cmp eax, 0x2e
jne 0x4ed15d
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x593b48
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0x2f
jne 0x4ed16c
mov ebx, 0x5939e8
jmp 0x4ed22d
cmp eax, 0x33
jne 0x4ed17b
mov ebx, 0x593c14
jmp 0x4ed22d
cmp eax, 0x34
jne 0x4ed18a
mov ebx, 0x593e34
jmp 0x4ed22d
cmp eax, 0x35
jne 0x4ed19f
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x594030
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0x36
jne 0x4ed1b4
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x597be8
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0x37
jne 0x4ed1c0
mov ebx, 0x58fb20
jmp 0x4ed22d
cmp eax, 0x38
jne 0x4ed1d5
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x59418c
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0x3e
jne 0x4ed1e1
mov ebx, 0x5945d0
jmp 0x4ed22d
cmp eax, 0x3f
jne 0x4ed1ed
mov ebx, 0x5946e0
jmp 0x4ed22d
cmp eax, 0x40
jne 0x4ed202
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x594840
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0x41
jne 0x4ed20e
mov ebx, 0x58fb78
jmp 0x4ed22d
cmp eax, 0x42
jne 0x4ed223
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x594b78
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0x43
jne 0x4ed25c
mov ebx, 0x5949d8
mov dword [ebp - 0x38], ebx
test esi, esi
jne 0x4ed24e
push 2
call fcn.0053659c
mov esi, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], eax
mov word [esi], ax
mov ecx, esi
mov byte [ebp - 0x14], 1
mov dword [ebp - 0x3c], ecx
jmp 0x4ed2ef
cmp eax, 0x47
jne 0x4ed268
mov ebx, 0x594de0
jmp 0x4ed22d
cmp eax, 0x48
jne 0x4ed274
mov ebx, 0x594eb0
jmp 0x4ed22d
cmp eax, 0x49
jne 0x4ed286
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x595048
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp eax, 0x4a
jne 0x4ed292
mov ebx, 0x597c08
jmp 0x4ed22d
cmp eax, 0x4b
jne 0x4ed29e
mov ebx, 0x58fbc0
jmp 0x4ed22d
cmp eax, 0x4c
jne 0x4ed5d0
mov ecx, dword [ebp - 0x3c]
mov ebx, 0x595148
mov dword [ebp - 0x38], ebx
jmp 0x4ed2ef
cmp ebx, dword [ecx + 0xb8]
jne 0x4ed5d0
cmp eax, 0x51
jne 0x4ed2cc
mov ebx, 0x588780
jmp 0x4ed2dc
cmp eax, 0x52
mov ebx, 0x5887ac
mov eax, 0
cmovne ebx, eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x38], ebx
push eax
mov ecx, edi
call fcn.004e2590
mov ecx, eax
mov dword [ebp - 0x3c], eax
test ebx, ebx
je 0x4ed5d0
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
xor esi, esi
movq qword [ebp - 0x28], xmm0
test ecx, ecx
je 0x4ed319
cmp word [ecx], si
je 0x4ed319
inc esi
cmp word [ecx + esi*2], 0
jne 0x4ed311
xor ecx, ecx
mov dword [ebp - 0x24], esi
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0053659c
add esp, 4
mov edi, eax
mov dword [ebp - 0x28], edi
test esi, esi
jle 0x4ed363
mov ecx, dword [ebp - 0x3c]
mov edx, edi
sub ecx, edi
mov ebx, esi
nop word [eax + eax]
mov ax, word [ecx + edx]
lea edx, [edx + 2]
mov word [edx - 2], ax
sub ebx, 1
jne 0x4ed350
mov ebx, dword [ebp - 0x38]
xor eax, eax
mov byte [ebp - 0x20], 1
mov word [edi + esi*2], ax
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 2
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x54]
cmp ecx, dword [eax + 0xb8]
je 0x4ed553
test esi, esi
jne 0x4ed39d
cmp word [edi], si
je 0x4ed398
nop
inc esi
cmp word [edi + esi*2], 0
jne 0x4ed390
mov dword [ebp - 0x24], esi
test esi, esi
setg byte [ebp - 0x20]
test esi, esi
jle 0x4ed553
xor esi, esi
nop dword [eax + eax]
inc esi
cmp word [esi*2 + 0x574264], 0
jne 0x4ed3b0
mov dword [ebp - 0x58], esi
test esi, esi
je 0x4ed553
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x572d8c], 0
jne 0x4ed3d0
push 0
push 0
push 1
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x28]
push 0
sub eax, esi
mov dword [ebp - 0x3c], edi
push 0x574264
mov dword [ebp - 0x44], eax
call fcn.00403db0
test eax, eax
je 0x4ed550
xor ebx, ebx
push 0
add eax, esi
lea ecx, [ebp - 0x28]
push eax
push 1
push 0
push 0x574264
inc ebx
call fcn.00403db0
test eax, eax
jne 0x4ed406
mov dword [ebp - 0x50], ebx
test ebx, ebx
mov ebx, dword [ebp - 0x38]
je 0x4ed550
mov ecx, dword [ebp - 0x50]
imul ecx, dword [ebp - 0x44]
mov dword [ebp - 0x5c], ecx
test ecx, ecx
jle 0x4ed461
mov eax, dword [ebp - 0x24]
mov edx, 2
inc eax
add eax, ecx
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0053659c
mov edi, eax
add esp, 4
mov dword [ebp - 0x3c], edi
test edi, edi
je 0x4ed550
xor edi, edi
lea ecx, [ebp - 0x28]
push edi
push 1
push 1
push edi
push 0x574264
xor esi, esi
mov dword [ebp - 0x44], edi
call fcn.00403db0
mov ecx, eax
test ecx, ecx
je 0x4ed4fe
mov ebx, dword [ebp - 0x48]
nop dword [eax]
mov edx, dword [ebp - 0x3c]
dec ecx
cmp edi, ecx
jge 0x4ed4b4
mov ebx, dword [ebp - 0x28]
nop dword [eax + eax]
mov ax, word [ebx + edi*2]
inc edi
mov word [edx + esi*2], ax
inc esi
cmp edi, ecx
jl 0x4ed4a0
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 0x44], edi
xor ecx, ecx
test ebx, ebx
jle 0x4ed4d8
mov edi, dword [ebp - 0x48]
nop dword [eax]
mov ax, word [ecx*2 + 0x572d8c]
inc ecx
mov word [edx + esi*2], ax
inc esi
cmp ecx, edi
jl 0x4ed4c0
mov edi, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x48]
add edi, dword [ebp - 0x58]
lea ecx, [ebp - 0x28]
push 0
mov dword [ebp - 0x44], edi
lea eax, [edi + 1]
push eax
push 1
push 0
push 0x574264
call fcn.00403db0
mov ecx, eax
test ecx, ecx
jne 0x4ed490
mov ebx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x24]
cmp edi, edx
jge 0x4ed522
mov eax, dword [ebp - 0x3c]
lea ecx, [eax + esi*2]
mov esi, dword [ebp - 0x28]
nop
mov ax, word [esi + edi*2]
lea ecx, [ecx + 2]
inc edi
mov word [ecx - 2], ax
cmp edi, edx
jl 0x4ed510
jmp 0x4ed525
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
mov edi, dword [ebp - 0x3c]
add edx, eax
mov dword [ebp - 0x24], edx
mov word [edi + edx*2], cx
test eax, eax
jle 0x4ed543
push esi
call fcn.00535f93
add esp, 4
cmp dword [ebp - 0x50], 0
mov dword [ebp - 0x28], edi
setg byte [ebp - 0x20]
jmp 0x4ed553
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x4c]
cmp dword [esi + 0x14c], 0
jne 0x4ed57a
push 2
call fcn.0053659c
add esp, 4
mov dword [esi + 0x14c], eax
xor ecx, ecx
mov word [eax], cx
mov dword [esi + 0x150], ecx
mov byte [esi + 0x154], 1
mov esi, dword [esi + 0x14c]
test edi, edi
jne 0x4ed59c
push 2
call fcn.0053659c
mov edi, eax
add esp, 4
xor eax, eax
mov word [edi], ax
push esi
push 0x572d90
push edi
push ebx
call dword [0x553424]
push ecx
push dword [ebp + 0xc]
mov ecx, dword [ebp - 0x4c]
mov ebx, eax
push dword [ebp - 0x54]
mov ecx, dword [ecx + 4]
call fcn.00437840
test edi, edi
je 0x4ed5cb
push edi
call fcn.00535f93
add esp, 4
mov esi, dword [ebp - 0x40]
jmp 0x4ed5d2
xor ebx, ebx
test esi, esi
je 0x4ed5df
push esi
call fcn.00535f93
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x4ed5ef
push eax
call fcn.00535f93
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00535f85
mov esp, ebp
pop ebp
ret 8