Function at 0x474395
Capabilities:
Parse credit card information

Disassembly:
call 0x40475e
push ebx
add byte [eax + eax + 0x72], dh
add byte [ecx], ch
outsb dx, byte [esi]
add byte [edi], ah
and byte [eax], al
je 0x40474e
outsd dx, dword [esi]
add byte [edi], ch
and byte [eax], al
insb byte es:[edi], dx
add byte [edi], ch
outsb dx, byte [esi]
add byte [edi], ah
add byte [eax], al
call fcn.0047680e
call 0x404796
dec esi
add byte [ecx], ah
insd dword es:[edi], dx
add byte [ebp], ah
and byte [eax], al
outsd dx, dword [esi]
add byte [esi], ah
and byte [eax], al
je 0x40477a
outsd dx, dword [esi]
add byte [ebx], ch
add byte gs:[esi], ch
and byte [eax], al
jb 0x404786
add byte gs:[ebx], dh
add byte gs:[edx], dh
jbe 0x404790
add byte gs:[eax + eax], ah
add al, ch
jae 0x4047b9
pop es
add byte [ebx + 0x68], dl
in al, 0x6f
inc esi
add bh, bh
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 8
nop
call 0x4047de
push ebx
add byte [ebp], dh
bound eax, qword [eax]
jae 0x4047b8
arpl word [eax], ax
jb 0x4047bc
add byte [edx], dh
imul eax, dword [eax], 0x740070
and byte [eax], al
outsd dx, dword [esi]
add byte [ebp], dh
je 0x4047ca
and byte [eax], al
outsd dx, dword [esi]
add byte [esi], ah
and byte [eax], al
jb 0x4047d4
popal
add byte [esi], ch
add byte [di], ah
add byte [eax], al
call fcn.0047680e
push ebx
push 0x466fe4
call dword [sym.imp.user32.dll_wsprintfW]
add esp, 8
nop
call 0x404836
inc esp
add byte [ebp], ah
jae 0x4047fe
je 0x404800
imul eax, dword [eax], 0x61006e
je 0x404808
imul eax, dword [eax], 0x6e006f
and byte [eax], al
popal
add byte [edx], dh
jb 0x404816
popal
add byte [ecx], bh
and byte [eax], al
imul eax, dword [eax], 0x200073
je 0x404824
outsd dx, dword [esi]
add byte [edi], ch
and byte [eax], al
jae 0x40482c
insd dword es:[edi], dx
add byte [ecx], ah
insb byte es:[edi], dx
add byte [eax + eax], ch
add al, ch
rcr dword [edi], cl
pop es
add al, ch
add byte es:[eax], al
add byte [ebp], dl
outsb dx, byte [esi]
add byte [ebx], ch
outsb dx, byte [esi]
add byte [edi], ch
ja 0x40484c
outsb dx, byte [esi]
add byte [eax], ah
add byte [ebx], dh
jne 0x404854
bound eax, qword [eax]
jb 0x404858
outsd dx, dword [esi]
add byte [ebp], dh
je 0x40485e
imul eax, dword [eax], 0x65006e
add byte [eax], al
call fcn.0047680e
call 0x40488c
push ebp
add byte [esi], ch
imul eax, dword [eax], 0x6e
add byte [edi], ch
ja 0x40487c
outsb dx, byte [esi]
add byte [eax], ah
add byte [ecx], ah
jb 0x404884
jb 0x404886
popal
add byte [ecx], bh
add byte [eax], al
call fcn.0047680e
call 0x4048b4
inc ecx
add byte [edx], dh
jb 0x40489c
popal
add byte [ecx], bh
and byte [eax], al
add byte gs:[eax], bh
jo 0x4048a8
add byte gs:[ebx], ah
je 0x4048ae
add byte gs:[eax + eax], ah
add al, ch
push ebp
pop ds
pop es
add al, ch
push ds
add byte [eax], al
add byte [ebx], al
outsd dx, dword [esi]
add byte [ebp], ch
insd dword es:[edi], dx
add byte [ecx], ah
and byte [eax], al
add byte gs:[eax], bh
jo 0x4048d0
add byte gs:[ebx], ah
je 0x4048d6
add byte gs:[eax + eax], ah
add al, ch
sub eax, 0xe800071f
xor al, byte [eax]
add byte [eax], al
inc ebx
add byte [eax + eax + 0x6f], ch
add byte [ebx], dh
imul eax, dword [eax], 0x67006e
and byte [eax], al
bound eax, qword [eax]
jb 0x4048fa
popal
add byte [ebx], ah
imul eax, dword [eax], 0x65
add byte [eax + eax + 0x20], dh
add byte [ebp], ah
js 0x40490a
jo 0x40490c
add byte gs:[ebx], ah
je 0x404912
add byte gs:[eax + eax], ah
add al, ch
int1
push ds
pop es
add al, ch
sub al, 0
add byte [eax], al
dec ecx
add byte [esi], ch
arpl word [eax], ax
outsd dx, dword [esi]
add byte [ebp], ch
jo 0x40492e
insb byte es:[edi], dx
add byte [ebp], ah
je 0x404934
add byte gs:[eax], ah
add byte [ebp], ah
js 0x40493c
jo 0x40493e
jb 0x404940
add byte gs:[ebx], dh
jae 0x404946
imul eax, dword [eax], 0x6e006f
add byte [eax], al
call fcn.0047680e
call 0x40499c
push ebp
add byte [esi], ch
bound eax, qword [eax]
popal
add byte [eax + eax + 0x61], ch
add byte [esi], ch
arpl word [eax], ax
add byte gs:[eax + eax + 0x20], ah
add byte [edi], ch
jb 0x404972
and byte [eax], al
insd dword es:[edi], dx
add byte [ecx], ch
jae 0x40497a
jae 0x40497c
imul eax, dword [eax], 0x67006e
and byte [eax], al
jo 0x404986
popal
add byte [edx], dh
add byte gs:[esi], ch
je 0x404990
push 0x73006500
add byte [ecx], ch
jae 0x40499a
add byte [eax], al
call fcn.0047680e
call 0x4049dc
push edi
add byte [edx], dh
outsd dx, dword [esi]
add byte [esi], ch
add byte [bx + si], ah
add byte [edi], ch
jb 0x4049b6
and byte [eax], al
insd dword es:[edi], dx
add byte [ecx], ch
jae 0x4049be
jae 0x4049c0
imul eax, dword [eax], 0x67006e
and byte [eax], al
jo 0x4049ca
popal
add byte [edx], dh
popal
add byte [ebp], ch
add byte gs:[eax + eax + 0x65], dh
add byte [edx], dh
add byte [eax], al
call fcn.0047680e
call 0x404a04
dec ebp
add byte [ecx], ch
jae 0x4049ec
jae 0x4049ee
imul eax, dword [eax], 0x67006e
and byte [eax], al
jno 0x4049f8
jne 0x4049fa
outsd dx, dword [esi]
add byte [eax + eax + 0x65], dh
add byte [ebx], dh
add byte [eax], al
call fcn.0047680e
call 0x404a36
dec ebp
add byte [ecx], ch
jae 0x404a14
jae 0x404a16
imul eax, dword [eax], 0x67006e
and byte [eax], al
je 0x404a20
outsd dx, dword [esi]
add byte [ebx], ch
add byte gs:[esi], ch
and byte [eax], al
inc ebp
add byte [esi], cl
inc esp
add byte [ecx], cl
inc esi
add byte [eax], al
add al, ch
rcr dword [0x28e80007], cl
add byte [eax], al
add byte [ebp], cl
imul eax, dword [eax], 0x730073
imul eax, dword [eax], 0x67006e
and byte [eax], al
je 0x404a52
outsd dx, dword [esi]
add byte [ebx], ch
add byte gs:[esi], ch
and byte [eax], al
push ebp
add byte [esi], cl
push esp
add byte [ecx], cl
dec esp
add byte [eax], al
add al, ch
mov eax, dword [0xe800071d]
add byte es:[eax], al
add byte [ebp], cl
imul eax, dword [eax], 0x730073
imul eax, dword [eax], 0x67006e
and byte [eax], al
je 0x404a84
outsd dx, dword [esi]
add byte [ebx], ch
add byte gs:[esi], ch
and byte [eax], al
inc ebp
add byte [esi], cl
inc esp
add byte [edi], dl
add byte [eax], al
call fcn.0047680e
call 0x404ac8
dec ebp
add byte [ecx], ch
jae 0x404aa8
jae 0x404aaa
imul eax, dword [eax], 0x67006e
and byte [eax], al
je 0x404ab4
outsd dx, dword [esi]
add byte [ebx], ch
add byte gs:[esi], ch
and byte [eax], al
inc ebp
add byte [esi], cl
inc esp
add byte [ebx], dl
add byte [eax], al
call fcn.0047680e
call 0x404afc
dec ebp
add byte [ecx], ch
jae 0x404ad8
jae 0x404ada
imul eax, dword [eax], 0x67006e
and byte [eax], al
je 0x404ae4
outsd dx, dword [esi]
add byte [ebx], ch
add byte gs:[esi], ch
and byte [eax], al
inc ebp
add byte [esi], cl
inc esp
add byte [ebx], dl
inc ebp
add byte [eax + eax], cl
add al, ch
or eax, 0xe800071d
add byte es:[eax], al
add byte [ebp], cl
imul eax, dword [eax], 0x730073
imul eax, dword [eax], 0x67006e
and byte [eax], al
je 0x404b18
outsd dx, dword [esi]
add byte [ebx], ch
add byte gs:[esi], ch
and byte [eax], al
dec esi
add byte [ebp], al
pop eax
add byte [eax + eax], dl
add al, ch
fstp qword [edi + eax]
add al, ch
and al, byte [eax]
add byte [eax], al
dec ebp
add byte [ecx], ch
jae 0x404b3c
jae 0x404b3e
imul eax, dword [eax], 0x67006e
and byte [eax], al
je 0x404b48
outsd dx, dword [esi]
add byte [ebx], ch
add byte gs:[esi], ch
and byte [eax], al
push esp
add byte [edi], cl
add byte [eax], al
call fcn.0047680e
call 0x404b8c
dec ebp
add byte [ecx], ch
jae 0x404b68
jae 0x404b6a
imul eax, dword [eax], 0x67006e
and byte [eax], al
je 0x404b74
outsd dx, dword [esi]
add byte [ebx], ch
add byte gs:[esi], ch
and byte [eax], al
push ebx
add byte [ebp], al
dec esp
add byte [ebp], al
inc ebx
add byte [eax + eax], dl
add al, ch
jge 0x404bab
pop es
add al, ch
xor al, byte [eax]
add byte [eax], al
push esp
add byte [edi], ch
outsd dx, dword [esi]
add byte [eax], ah
add byte [ebp], ch
popal
add byte [esi], ch
jns 0x404ba6
and byte [eax], al
insb byte es:[edi], dx
add byte [edi], ch
arpl word [eax], ax
add byte [ebx], ah
popal
add byte [eax + eax + 0x20], ch
add byte [esi], dh
popal
add byte [edx], dh
imul eax, dword [eax], 0x620061
insb byte es:[edi], dx
add byte [ebp], ah
jae 0x404bc6
add byte [eax], al
call fcn.0047680e
call 0x404bfe
push esp
add byte [edi], ch
outsd dx, dword [esi]
add byte [eax], ah
add byte [ebp], ch
popal
add byte [esi], ch
jns 0x404be2
and byte [eax], al
outsb dx, byte [esi]
add byte [ebp], ah
jae 0x404bea
je 0x404bec
add byte gs:[eax + eax + 0x20], ah
add byte [eax + eax + 0x6f], ch
add byte [edi], ch
jo 0x404bfa
jae 0x404bfc
add byte [eax], al
call fcn.0047680e
call 0x404c26
push esp
add byte [edi], ch
outsd dx, dword [esi]
add byte [eax], ah
add byte [ebp], ch
popal
add byte [esi], ch
jns 0x404c18
and byte [eax], al
inc edi
add byte [edi], cl
push ebx
add byte [ebp], dl
inc edx
add byte [eax], al
add al, ch
jecxz 0x404c44
pop es
add al, ch
cmp byte [eax], al
add byte [eax], al
push esp
add byte [edi], ch
outsd dx, dword [esi]
add byte [eax], ah
add byte [ebp], ch
popal
add byte [esi], ch
jns 0x404c40
and byte [eax], al
outsb dx, byte [esi]
add byte [ebp], ah
jae 0x404c48
add byte gs:[ebx], dh
je 0x404c4a
add byte gs:[eax + eax + 0x20], ah
add byte [ebx], dh
jne 0x404c54
bound eax, qword [eax]
jb 0x404c58
outsd dx, dword [esi]
add byte [ebp], dh
je 0x404c5e
imul eax, dword [eax], 0x65006e
jae 0x404c66
add byte [eax], al
call fcn.0047680e
call 0x404c9c
push edx
add byte [ebp], al
push esp
add byte [ebp], dl
push edx
add byte [esi], cl
and byte [eax], al
ja 0x404c82
imul eax, dword [eax], 0x680074
outsd dx, dword [esi]
add byte [ebp], dh
je 0x404c8e
and byte [eax], al
inc edi
add byte [edi], cl
push ebx
add byte [ebp], dl
inc edx
add byte [eax], al
add al, ch
insd dword es:[edi], dx
sbb eax, dword [edi]
add al, ch
and al, byte [eax]
add byte [eax], al
inc esp
add byte [ecx], ch
jbe 0x404cac
imul eax, dword [eax], 0x690073
outsd dx, dword [esi]
add byte [esi], ch
and byte [eax], al
bound eax, qword [eax]
jns 0x404cbc
and byte [eax], al
jp 0x404cc0
add byte gs:[edx], dh
outsd dx, dword [esi]
add byte [eax], al
add al, ch
inc ecx
sbb eax, dword [edi]
add al, ch
add byte es:[eax], al
add byte [ebx], dl
push esp
add byte [ebp], al
push eax
add byte [eax], ah
add byte [ebx], ah
popal
add byte [esi], ch
daa
add byte [eax + eax + 0x20], dh
add byte [edx], ah
add byte gs:[eax], ah
add byte [edx], bh
add byte gs:[edx], dh
outsd dx, dword [esi]
add byte [eax], al
add al, ch
adc dword [ebx], ebx
pop es
add al, ch
sub byte [eax], al
add byte [eax], al
dec esi
add byte [edi], ch
je 0x404d08
and byte [eax], al
imul eax, dword [eax], 0x20006e
popal
add byte [eax], ah
add byte [edi], dl
dec eax
add byte [ecx], cl
dec esp
add byte [ebp], al
and byte [eax], al
insb byte es:[edi], dx
add byte [edi], ch
outsd dx, dword [esi]
add byte [eax], dh
add byte [eax], al
call fcn.0047680e
call 0x404d56
dec esi
add byte [edi], ch
je 0x404d3a
and byte [eax], al
imul eax, dword [eax], 0x20006e
popal
add byte [eax], ah
add byte [eax + eax + 0x4f], al
add byte [eax], ah
add byte [eax + eax + 0x6f], ch
add byte [edi], ch
jo 0x404d54
add byte [eax], al
call fcn.0047680e
call 0x404d84
dec esi
add byte [edi], ch
je 0x404d66
and byte [eax], al
imul eax, dword [eax], 0x20006e
popal
add byte [eax], ah
add byte [esi], al
dec edi
add byte [edx], dl
and byte [eax], al
insb byte es:[edi], dx
add byte [edi], ch
outsd dx, dword [esi]
add byte [eax], dh
add byte [eax], al
call fcn.0047680e
push ebx
push ecx
push edx
push edi
mov edi, 0x466fe4
mov word [edi], 0
mov dword [0x404fac], esi
cmp word [esi], 0x20
je 0x4743b5
cmp word [esi], 9
jne 0x4743ba
add esi, 2
jmp 0x4743a9
xor eax, eax
mov ax, word [esi]
cmp ax, 0
jne 0x4743d9
mov eax, 0xfa
mov ecx, 0xffffffff
jmp 0x474766
cmp ax, 0xd
jne 0x4743fa
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov word [edi], 0
mov eax, 0xf9
mov ecx, 1
jmp 0x474766
cmp ax, 0x3f
je 0x47446c
cmp ax, 0x3a
je 0x47446c
cmp ax, 0x2c
je 0x47446c
cmp ax, 0x3b
je 0x47446c
cmp ax, 0x3d
je 0x47446c
cmp ax, 0x2b
je 0x47446c
cmp ax, 0x2d
je 0x47446c
cmp ax, 0x2a
je 0x47446c
cmp ax, 0x2f
je 0x47446c
cmp ax, 0x25
je 0x47446c
cmp ax, 0x7e
je 0x47446c
cmp ax, 0x3c
je 0x47446c
cmp ax, 0x3e
je 0x47446c
cmp ax, 0x26
je 0x47446c
cmp ax, 0x5e
je 0x47446c
cmp ax, 0x7c
je 0x47446c
cmp ax, 0x5d
je 0x47446c
cmp ax, 0x28
je 0x47446c
cmp ax, 0x29
jne 0x4744e1
lodsw ax, word [esi]
stosw word es:[edi], ax
mov cx, word [esi]
cmp ax, 0x3e
jne 0x47447f
cmp cx, 0x3d
je 0x4744c7
cmp ax, 0x3d
jne 0x47448b
cmp cx, 0x3e
je 0x4744c7
cmp ax, 0x3c
jne 0x474497
cmp cx, 0x3d
je 0x4744c7
cmp ax, 0x3d
jne 0x4744a3
cmp cx, 0x3c
je 0x4744c7
cmp ax, 0x3c
jne 0x4744af
cmp cx, 0x3e
je 0x4744c7
cmp ax, 0x3c
jne 0x4744bb
cmp cx, 0x3c
je 0x4744c7
cmp ax, 0x3e
jne 0x4744cb
cmp cx, 0x3e
jne 0x4744cb
lodsw ax, word [esi]
stosw word es:[edi], ax
mov word [edi], 0
xor eax, eax
mov ecx, 2
jmp 0x474766
cmp ax, 0x22
je 0x4744ed
cmp ax, 0x27
jne 0x47454c
mov dx, ax
add esi, 2
cmp word [esi], 0
je 0x474511
cmp word [esi], 0xd
je 0x474511
cmp word [esi], 0x22
je 0x474511
cmp word [esi], 0x27
je 0x474511
lodsw ax, word [esi]
stosw word es:[edi], ax
jmp 0x4744f3
lodsw ax, word [esi]
cmp ax, 0x22
je 0x47451f
cmp ax, 0x27
jne 0x47452c
cmp ax, word [esi]
jne 0x47452c
mov word [edi], ax
add edi, 2
jmp 0x4744f0
mov word [edi], 0
cmp ax, dx
je 0x47453e
sub esi, 2
jmp 0x4049e1
xor eax, eax
mov ecx, 3
jmp 0x474766
cmp ax, 0x30
jl 0x4745c4
cmp ax, 0x39
jg 0x4745c4
xor ecx, ecx
cmp dword [esi], 0x780030
jne 0x474569
mov ecx, 1
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsw ax, word [esi]
stosw word es:[edi], ax
mov ax, word [esi]
cmp ax, 0x30
jl 0x47457c
cmp ax, 0x39
jle 0x474569
cmp ax, 0x61
jl 0x474588
cmp ax, 0x66
jle 0x474569
cmp ax, 0x41
jl 0x474594
cmp ax, 0x46
jle 0x474569
or ax, 0x20
cmp ecx, 0
jne 0x4745b3
cmp ax, 0x64
je 0x4745af
cmp ax, 0x68
je 0x4745af
cmp ax, 0x62
jne 0x4745b3
lodsw ax, word [esi]
stosw word es:[edi], ax
mov word [edi], 0
xor eax, eax
mov ecx, 4
jmp 0x474766
push eax
call dword [sym.imp.user32.dll_IsCharAlphaW]
mov dx, word [esi]
cmp eax, 0
jne 0x4745e9
cmp dx, 0x40
je 0x4745e9
cmp dx, 0x2e
je 0x4745e9
cmp dx, 0x5f
jne 0x47474f
mov ebx, esi
lodsw ax, word [esi]
stosw word es:[edi], ax
call fcn.00472bdc
cmp eax, 0
je 0x47460b
cmp word [esi], 0
je 0x47460b
cmp word [esi], 9
je 0x47460b
cmp word [esi], 0xd
jne 0x4745eb
mov word [edi], 0
mov ecx, esi
sub ecx, ebx
shr ecx, 1
cmp ecx, 0x20
jge 0x404739
mov ax, word [esi]
cmp dword [esi], 0x2f002f
jne 0x4746ba
add esi, 4
mov eax, dword [0x404f74]
push 0x466fe4
push eax
call dword [sym.imp.kernel32.dll_lstrcpyW]
call fcn.00472c46
jns 0x47467c
mov edi, 0x466fe4
call fcn.00472bdc
cmp eax, 0
je 0x47465e
lodsw ax, word [esi]
stosw word es:[edi], ax
jmp 0x47464e
mov word [edi], 0
call fcn.0046c551
cmp eax, 0
jne 0x474674
push 0
call fcn.0046c8c0
cmp eax, 0
je 0x4746b2
mov eax, dword [eax + 0x44]
push eax
push dword [0x404f74]
call 0x474692
and eax, 0x25007300
add byte [eax + eax], ah
add byte [eax - 0x1c], ch
outsd dx, dword [esi]
inc esi
add bh, bh
adc eax, sym.imp.user32.dll_wsprintfW
add esp, 0x10
cmp eax, 0x20
jge 0x404739
add eax, eax
mov edi, 0x466fe4
add edi, eax
mov ax, word [esi]
jmp 0x474622
cmp ax, 0x23
jne 0x4746cf
add esi, 2
xor eax, eax
mov ecx, 0xc
jmp 0x474766
cmp ax, 0x5b
jne 0x4746e7
lodsw ax, word [esi]
stosw word es:[edi], ax
mov word [edi], 0
xor eax, eax
mov ecx, 9
jmp 0x474766
cmp ax, 0x24
jne 0x47470f
cmp word [esi + 2], 0x5b
jne 0x4746fd
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ecx, 0xa
jmp 0x474706
lodsw ax, word [esi]
stosw word es:[edi], ax
mov ecx, 0xb
mov word [edi], 0
xor eax, eax
jmp 0x474766
cmp ax, 0x28
jne 0x474721
call fcn.0046c7d7
mov ecx, 8
jmp 0x474766
call fcn.0046c7a8
cmp eax, 0
je 0x474732
mov ecx, 6
jmp 0x474766
cmp dword [esi], 0x5b003a
jne 0x474746
add esi, 4
xor eax, eax
mov ecx, 0xd
jmp 0x474766
xor eax, eax
mov ecx, 5
jmp 0x474766
cmp word [esi], 0x5c
jne 0x47475f
call fcn.0046c5b3
jmp 0x474399
add esi, 2
xor eax, eax
xor ecx, ecx
mov dword [0x404f78], eax
mov dword [0x404f6c], ecx
pop edi
pop edx
pop ecx
pop ebx
ret