Function at 0x46dc56
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push eax
push ebx
push ecx
push edx
push esi
push edi
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b47f
push dword [0x4012a0]
push dword [0x4012a4]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov edi, 0x460fe4
mov ecx, pe_nt_image_headers32
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 4], eax
mov esi, dword [ebp + 0xc]
cmp word [esi], 0
je 0x46e258
cmp dword [esi], 0x5b001b
jne 0x46dd29
add esi, 4
add dword [ebp - 0xc], 1
mov dword [ebp - 8], 0
cmp word [esi], 0x1b
je 0x46dd29
cmp word [esi], 0
je 0x46dd29
cmp word [esi], 0x40
jl 0x46dcdb
cmp word [esi], 0x7e
jle 0x46dd29
call fcn.0046e457
call fcn.00472c46
js 0x46dcf7
mov ecx, dword [ebp - 8]
mov dword [ecx*4 + 0x460fe4], eax
add dword [ebp - 8], 1
jmp 0x46dd27
cmp word [esi], 0x3a
jl 0x46dd27
cmp word [esi], 0x3f
jg 0x46dd27
mov ax, word [esi]
cmp ax, 0x3b
je 0x46dd12
cmp ax, 0x3a
jne 0x46dd24
mov ecx, dword [ebp - 8]
mov dword [ecx*4 + 0x460fe4], 0xffffffff
add dword [ebp - 8], 1
add esi, 2
jmp 0x46dcc3
cmp word [esi], 0x6d
jne 0x46dd9c
add esi, 2
cmp dword [ebp - 8], 0
jne 0x46dd41
xor eax, eax
call fcn.0046e28e
jmp 0x46dd97
cmp dword [ebp - 8], 1
jne 0x46dd53
mov eax, dword [0x460fe4]
call fcn.0046e28e
jmp 0x46dd97
cmp dword [ebp - 8], 2
jne 0x46dd65
mov eax, dword [0x460fe8]
call fcn.0046e28e
jmp 0x46dd97
cmp dword [ebp - 8], 3
jne 0x46dd81
mov eax, dword [0x460fe4]
call fcn.0046e28e
mov eax, dword [0x460fec]
call fcn.0046e28e
jmp 0x46dd97
xor ecx, ecx
mov eax, dword [ecx*4 + 0x460fe4]
call fcn.0046e28e
add ecx, 2
cmp ecx, dword [ebp - 8]
jl 0x46dd83
jmp 0x46e1ed
cmp word [esi], 0x48
je 0x46ddb2
cmp word [esi], 0x68
je 0x46ddb2
cmp word [esi], 0x66
jne 0x46de55
add esi, 2
cmp dword [ebp - 8], 0
jne 0x46ddca
xor eax, eax
push eax
push 0
call fcn.0046b8db
jmp 0x46de50
cmp dword [ebp - 8], 1
jne 0x46dde7
mov eax, dword [0x460fe4]
cmp eax, 0
jle 0x46dddd
sub eax, 1
push eax
push 0
call fcn.0046b8db
jmp 0x46de50
cmp dword [ebp - 8], 2
jne 0x46de04
mov eax, dword [0x460fe8]
cmp eax, 0
jle 0x46ddfa
sub eax, 1
push 0
push eax
call fcn.0046b8db
jmp 0x46de50
mov ecx, dword [ebp - 8]
mov eax, dword [ecx*4 + 0x460fe0]
cmp eax, 0xffffffff
jne 0x46de17
xor eax, eax
jmp 0x46de1f
cmp eax, 0
jle 0x46de1f
sub eax, 1
mov ebx, dword [ecx*4 + 0x460fd8]
cmp ebx, 0xffffffff
jne 0x46de2f
xor ebx, ebx
jmp 0x46de37
cmp ebx, 0
jle 0x46de37
sub ebx, 1
mov ecx, dword [0x4012bc]
sub ecx, 1
cmp ebx, ecx
jl 0x46de49
mov ebx, 0xffffffff
push ebx
push eax
call fcn.0046b8db
jmp 0x46e1ed
cmp word [esi], 0x4a
jne 0x46df00
add esi, 2
mov eax, dword [ebp - 8]
cmp eax, 0
je 0x46de76
mov ecx, eax
sub ecx, 1
mov eax, dword [ecx*4 + 0x460fe4]
cmp eax, 1
jge 0x46debc
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b8db
mov eax, dword [0x4012b4]
mov ecx, dword [0x40129c]
imul eax, ecx
mov ebx, eax
mov eax, dword [0x4012b4]
mov ecx, dword [0x4012bc]
imul eax, ecx
sub eax, ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push dword [0x40129c]
push dword [0x401298]
call fcn.0046b615
jmp 0x46defb
cmp eax, 1
jne 0x46def1
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b8db
mov eax, dword [0x4012b4]
mov ecx, dword [0x40129c]
imul eax, ecx
add eax, dword [0x401298]
add eax, 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push 0
push 0
call fcn.0046b615
jmp 0x46defb
cmp eax, 2
jne 0x46defb
call fcn.0046b415
jmp 0x46e1ed
cmp word [esi], 0x4b
jne 0x46df9d
add esi, 2
mov eax, dword [ebp - 8]
cmp eax, 0
je 0x46df21
mov ecx, eax
sub ecx, 1
mov eax, dword [ecx*4 + 0x460fe4]
cmp eax, 1
jge 0x46df52
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b8db
mov eax, dword [0x4012b4]
sub eax, dword [0x401298]
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push dword [0x40129c]
push dword [0x401298]
call fcn.0046b615
jmp 0x46df98
cmp eax, 1
jne 0x46df7c
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b8db
mov eax, dword [0x401298]
add eax, 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push dword [0x40129c]
push 0
call fcn.0046b615
jmp 0x46df98
cmp eax, 2
jne 0x46df98
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [0x4012b4]
push dword [0x40129c]
push 0
call fcn.0046b615
jmp 0x46e1ed
cmp word [esi], 0x73
jne 0x46dfc8
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b8db
mov eax, dword [0x401298]
mov dword [0x404fa4], eax
mov eax, dword [0x40129c]
mov dword [0x404fa8], eax
jmp 0x46e1ed
cmp word [esi], 0x75
jne 0x46dfe7
add esi, 2
push dword [0x404fa8]
push dword [0x404fa4]
call fcn.0046b8db
jmp 0x46e1ed
cmp word [esi], 0x52
je 0x46dff3
cmp word [esi], 0x6e
jne 0x46e02d
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b8db
push dword [0x401298]
push dword [0x40129c]
call 0x46e01c
and eax, 0x2c006400
add byte [0x6400], ah
add byte [edx - 1], ch
push 0xffffffffffffffff
call fcn.0046b9f1
add esp, 0x14
jmp 0x46e1ed
cmp word [esi], 0x41
jne 0x46e072
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b8db
mov eax, dword [0x40129c]
cmp dword [ebp - 8], 0
jne 0x46e051
mov ecx, 1
jmp 0x46e05e
mov ebx, dword [ebp - 8]
sub ebx, 1
mov ecx, dword [ebx*4 + 0x460fe4]
sub eax, ecx
cmp eax, 0xffffffff
jle 0x46e06d
push eax
push 0xffffffffffffffff
call fcn.0046b8db
jmp 0x46e1ed
cmp word [esi], 0x42
jne 0x46e0ba
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b8db
mov eax, dword [0x40129c]
cmp dword [ebp - 8], 0
jne 0x46e096
mov ecx, 1
jmp 0x46e0a3
mov ebx, dword [ebp - 8]
sub ebx, 1
mov ecx, dword [ebx*4 + 0x460fe4]
add eax, ecx
cmp eax, dword [0x4012bc]
jge 0x46e0b5
push eax
push 0xffffffffffffffff
call fcn.0046b8db
jmp 0x46e1ed
cmp word [esi], 0x43
jne 0x46e102
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b8db
mov eax, dword [0x401298]
cmp dword [ebp - 8], 0
jne 0x46e0de
mov ecx, 1
jmp 0x46e0eb
mov ebx, dword [ebp - 8]
sub ebx, 1
mov ecx, dword [ebx*4 + 0x460fe4]
add eax, ecx
cmp eax, dword [0x4012b4]
jge 0x46e0fd
push 0xffffffffffffffff
push eax
call fcn.0046b8db
jmp 0x46e1ed
cmp word [esi], 0x44
jne 0x46e147
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b8db
mov eax, dword [0x401298]
cmp dword [ebp - 8], 0
jne 0x46e126
mov ecx, 1
jmp 0x46e133
mov ebx, dword [ebp - 8]
sub ebx, 1
mov ecx, dword [ebx*4 + 0x460fe4]
sub eax, ecx
cmp eax, 0xffffffff
jle 0x46e142
push 0xffffffffffffffff
push eax
call fcn.0046b8db
jmp 0x46e1ed
cmp word [esi], 0x45
jne 0x46e190
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b8db
mov eax, dword [0x40129c]
cmp dword [ebp - 8], 0
jne 0x46e16b
mov ecx, 1
jmp 0x46e178
mov ebx, dword [ebp - 8]
sub ebx, 1
mov ecx, dword [ebx*4 + 0x460fe4]
add eax, ecx
cmp eax, dword [0x4012bc]
jge 0x46e18e
push eax
push dword [0x401298]
call fcn.0046b8db
jmp 0x46e1ed
cmp word [esi], 0x46
jne 0x46e1d6
add esi, 2
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0046b8db
mov eax, dword [0x40129c]
cmp dword [ebp - 8], 0
jne 0x46e1b4
mov ecx, 1
jmp 0x46e1c1
mov ebx, dword [ebp - 8]
sub ebx, 1
mov ecx, dword [ebx*4 + 0x460fe4]
sub eax, ecx
cmp eax, 0xffffffff
jle 0x46e1d4
push eax
push dword [0x401298]
call fcn.0046b8db
jmp 0x46e1ed
cmp word [esi], 0x20
jge 0x46e1ed
cmp word [esi], 0x20
jge 0x46e1ed
cmp word [esi], 0
je 0x46e1ed
add esi, 2
jmp 0x46e1dc
cmp word [esi], 0x1b
je 0x46e22a
cmp word [esi], 7
je 0x46e22a
cmp word [esi], 0
je 0x46e22a
xor eax, eax
mov ax, word [esi]
push eax
call 0x46e210
and eax, 0x6300
add byte [edx - 1], ch
push 0xffffffffffffffff
call fcn.0046b9f1
add esp, 0x10
push 0x1b
call fcn.0046b85b
jne 0x46e258
add esi, 2
jmp 0x46e1ed
cmp word [esi + 2], 0x1b
jne 0x46e236
add esi, 2
jmp 0x46e22a
cmp dword [ebp + 8], 0
jle 0x46e253
sub dword [ebp - 4], 1
cmp dword [ebp - 4], 0
jne 0x46e253
mov eax, dword [ebp + 8]
mov dword [ebp - 4], eax
push 5
call fcn.0046bcac
jmp 0x46dca3
pop dword [0x4012a4]
pop dword [0x4012a0]
push dword [0x4012a4]
push dword [0x4012a0]
call fcn.0046b47f
mov edx, dword [0x404f2c]
push dword [ebp - 0xc]
pop dword [edx + 0x44]
add edx, 0x58
pop edi
pop esi
pop edx
pop ecx
pop ebx
pop eax
leave
ret 8