Function at 0x46dccf
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push eax
push ebx
push ecx
push edx
push esi
push edi
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b431
push dword [0x4011c0]
push dword [0x4011c4]
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov edi, 0x461210
mov ecx, pe_nt_image_headers32
xor eax, eax
rep stosd dword es:[edi], eax
mov esi, dword [ebp + 8]
cmp word [esi], 0
je 0x46e2bd
cmp dword [esi], 0x5b001b
jne 0x46dd95
add esi, 4
add dword [ebp - 8], 1
mov dword [ebp - 4], 0
cmp word [esi], 0x1b
je 0x46dd95
cmp word [esi], 0
je 0x46dd95
cmp word [esi], 0x40
jl 0x46dd47
cmp word [esi], 0x7e
jle 0x46dd95
call fcn.0046e4bc
call fcn.00472d78
js 0x46dd63
mov ecx, dword [ebp - 4]
mov dword [ecx*4 + 0x461210], eax
add dword [ebp - 4], 1
jmp 0x46dd93
cmp word [esi], 0x3a
jl 0x46dd93
cmp word [esi], 0x3f
jg 0x46dd93
mov ax, word [esi]
cmp ax, 0x3b
je 0x46dd7e
cmp ax, 0x3a
jne 0x46dd90
mov ecx, dword [ebp - 4]
mov dword [ecx*4 + 0x461210], 0xffffffff
add dword [ebp - 4], 1
add esi, 2
jmp 0x46dd2f
cmp word [esi], 0x6d
jne 0x46de08
add esi, 2
cmp dword [ebp - 4], 0
jne 0x46ddad
xor eax, eax
call fcn.0046e2f3
jmp 0x46de03
cmp dword [ebp - 4], 1
jne 0x46ddbf
mov eax, dword [0x461210]
call fcn.0046e2f3
jmp 0x46de03
cmp dword [ebp - 4], 2
jne 0x46ddd1
mov eax, dword [0x461214]
call fcn.0046e2f3
jmp 0x46de03
cmp dword [ebp - 4], 3
jne 0x46dded
mov eax, dword [0x461210]
call fcn.0046e2f3
mov eax, dword [0x461218]
call fcn.0046e2f3
jmp 0x46de03
xor ecx, ecx
mov eax, dword [ecx*4 + 0x461210]
call fcn.0046e2f3
add ecx, 2
cmp ecx, dword [ebp - 4]
jl 0x46ddef
jmp 0x46e259
cmp word [esi], 0x48
je 0x46de1e
cmp word [esi], 0x68
je 0x46de1e
cmp word [esi], 0x66
jne 0x46dec1
add esi, 2
cmp dword [ebp - 4], 0
jne 0x46de36
xor eax, eax
push eax
push 0
call fcn.0046b889
jmp 0x46debc
cmp dword [ebp - 4], 1
jne 0x46de53
mov eax, dword [0x461210]
cmp eax, 0
jle 0x46de49
sub eax, 1
push eax
push 0
call fcn.0046b889
jmp 0x46debc
cmp dword [ebp - 4], 2
jne 0x46de70
mov eax, dword [0x461214]
cmp eax, 0
jle 0x46de66
sub eax, 1
push 0
push eax
call fcn.0046b889
jmp 0x46debc
mov ecx, dword [ebp - 4]
mov eax, dword [ecx*4 + 0x46120c]
cmp eax, 0xffffffff
jne 0x46de83
xor eax, eax
jmp 0x46de8b
cmp eax, 0
jle 0x46de8b
sub eax, 1
mov ebx, dword [ecx*4 + 0x461204]
cmp ebx, 0xffffffff
jne 0x46de9b
xor ebx, ebx
jmp 0x46dea3
cmp ebx, 0
jle 0x46dea3
sub ebx, 1
mov ecx, dword [0x4011dc]
sub ecx, 1
cmp ebx, ecx
jl 0x46deb5
mov ebx, 0xffffffff
push ebx
push eax
call fcn.0046b889
jmp 0x46e259
cmp word [esi], 0x4a
jne 0x46df6c
add esi, 2
mov eax, dword [ebp - 4]
cmp eax, 0
je 0x46dee2
mov ecx, eax
sub ecx, 1
mov eax, dword [ecx*4 + 0x461210]
cmp eax, 1
jge 0x46df28
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b889
mov eax, dword [0x4011d4]
mov ecx, dword [0x4011bc]
imul eax, ecx
mov ebx, eax
mov eax, dword [0x4011d4]
mov ecx, dword [0x4011dc]
imul eax, ecx
sub eax, ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push dword [0x4011bc]
push dword [0x4011b8]
call fcn.0046b5ca
jmp 0x46df67
cmp eax, 1
jne 0x46df5d
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b889
mov eax, dword [0x4011d4]
mov ecx, dword [0x4011bc]
imul eax, ecx
add eax, dword [0x4011b8]
add eax, 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push 0
push 0
call fcn.0046b5ca
jmp 0x46df67
cmp eax, 2
jne 0x46df67
call fcn.0046b3c7
jmp 0x46e259
cmp word [esi], 0x4b
jne 0x46e009
add esi, 2
mov eax, dword [ebp - 4]
cmp eax, 0
je 0x46df8d
mov ecx, eax
sub ecx, 1
mov eax, dword [ecx*4 + 0x461210]
cmp eax, 1
jge 0x46dfbe
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b889
mov eax, dword [0x4011d4]
sub eax, dword [0x4011b8]
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push dword [0x4011bc]
push dword [0x4011b8]
call fcn.0046b5ca
jmp 0x46e004
cmp eax, 1
jne 0x46dfe8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b889
mov eax, dword [0x4011b8]
add eax, 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push dword [0x4011bc]
push 0
call fcn.0046b5ca
jmp 0x46e004
cmp eax, 2
jne 0x46e004
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [0x4011d4]
push dword [0x4011bc]
push 0
call fcn.0046b5ca
jmp 0x46e259
cmp word [esi], 0x73
jne 0x46e034
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b889
mov eax, dword [0x4011b8]
mov dword [0x4051d0], eax
mov eax, dword [0x4011bc]
mov dword [0x4051d4], eax
jmp 0x46e259
cmp word [esi], 0x75
jne 0x46e053
add esi, 2
push dword [0x4051d4]
push dword [0x4051d0]
call fcn.0046b889
jmp 0x46e259
cmp word [esi], 0x52
je 0x46e05f
cmp word [esi], 0x6e
jne 0x46e099
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b889
push dword [0x4011b8]
push dword [0x4011bc]
call 0x46e088
and eax, 0x2c006400
add byte [0x6400], ah
add byte [edx - 1], ch
push 0xffffffffffffffff
call fcn.0046b99f
add esp, 0x14
jmp 0x46e259
cmp word [esi], 0x41
jne 0x46e0de
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b889
mov eax, dword [0x4011bc]
cmp dword [ebp - 4], 0
jne 0x46e0bd
mov ecx, 1
jmp 0x46e0ca
mov ebx, dword [ebp - 4]
sub ebx, 1
mov ecx, dword [ebx*4 + 0x461210]
sub eax, ecx
cmp eax, 0xffffffff
jle 0x46e0d9
push eax
push 0xffffffffffffffff
call fcn.0046b889
jmp 0x46e259
cmp word [esi], 0x42
jne 0x46e126
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b889
mov eax, dword [0x4011bc]
cmp dword [ebp - 4], 0
jne 0x46e102
mov ecx, 1
jmp 0x46e10f
mov ebx, dword [ebp - 4]
sub ebx, 1
mov ecx, dword [ebx*4 + 0x461210]
add eax, ecx
cmp eax, dword [0x4011dc]
jge 0x46e121
push eax
push 0xffffffffffffffff
call fcn.0046b889
jmp 0x46e259
cmp word [esi], 0x43
jne 0x46e16e
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b889
mov eax, dword [0x4011b8]
cmp dword [ebp - 4], 0
jne 0x46e14a
mov ecx, 1
jmp 0x46e157
mov ebx, dword [ebp - 4]
sub ebx, 1
mov ecx, dword [ebx*4 + 0x461210]
add eax, ecx
cmp eax, dword [0x4011d4]
jge 0x46e169
push 0xffffffffffffffff
push eax
call fcn.0046b889
jmp 0x46e259
cmp word [esi], 0x44
jne 0x46e1b3
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b889
mov eax, dword [0x4011b8]
cmp dword [ebp - 4], 0
jne 0x46e192
mov ecx, 1
jmp 0x46e19f
mov ebx, dword [ebp - 4]
sub ebx, 1
mov ecx, dword [ebx*4 + 0x461210]
sub eax, ecx
cmp eax, 0xffffffff
jle 0x46e1ae
push 0xffffffffffffffff
push eax
call fcn.0046b889
jmp 0x46e259
cmp word [esi], 0x45
jne 0x46e1fc
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b889
mov eax, dword [0x4011bc]
cmp dword [ebp - 4], 0
jne 0x46e1d7
mov ecx, 1
jmp 0x46e1e4
mov ebx, dword [ebp - 4]
sub ebx, 1
mov ecx, dword [ebx*4 + 0x461210]
add eax, ecx
cmp eax, dword [0x4011dc]
jge 0x46e1fa
push eax
push dword [0x4011b8]
call fcn.0046b889
jmp 0x46e259
cmp word [esi], 0x46
jne 0x46e242
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b889
mov eax, dword [0x4011bc]
cmp dword [ebp - 4], 0
jne 0x46e220
mov ecx, 1
jmp 0x46e22d
mov ebx, dword [ebp - 4]
sub ebx, 1
mov ecx, dword [ebx*4 + 0x461210]
sub eax, ecx
cmp eax, 0xffffffff
jle 0x46e240
push eax
push dword [0x4011b8]
call fcn.0046b889
jmp 0x46e259
cmp word [esi], 0x20
jge 0x46e259
cmp word [esi], 0x20
jge 0x46e259
cmp word [esi], 0
je 0x46e259
add esi, 2
jmp 0x46e248
cmp word [esi], 0x1b
je 0x46e296
cmp word [esi], 7
je 0x46e296
cmp word [esi], 0
je 0x46e296
xor eax, eax
mov ax, word [esi]
push eax
call 0x46e27c
and eax, 0x6300
add byte [edx - 1], ch
push 0xffffffffffffffff
call fcn.0046b99f
add esp, 0x10
push 0x1b
call fcn.0046b809
jne 0x46e2bd
add esi, 2
jmp 0x46e259
cmp word [esi + 2], 0x1b
jne 0x46e2a2
add esi, 2
jmp 0x46e296
cmp dword [ebp + 0xc], 0
jle 0x46e2b8
mov eax, dword [ebp - 8]
and eax, 7
jne 0x46e2b8
push dword [ebp + 0xc]
call fcn.0046bc54
jmp 0x46dd0f
pop dword [0x4011c4]
pop dword [0x4011c0]
push dword [0x4011c4]
push dword [0x4011c0]
call fcn.0046b431
mov edx, dword [0x405158]
push dword [ebp - 8]
pop dword [edx + 0x44]
add edx, 0x58
pop edi
pop esi
pop edx
pop ecx
pop ebx
pop eax
leave
ret 8