Function at 0x466520
Capabilities:
Contain obfuscated stackstrings
Parse credit card information

Disassembly:
mov eax, 0x8708
call 0x4d6480
mov eax, dword [esp + 0x8718]
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov edi, dword [esp + 0x871c]
mov dword [esp + 0x14], ebp
test eax, eax
je 0x466583
lea edx, [esp + 0x108]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x466550
mov eax, dword [esp + 0x872c]
mov edx, eax
mov dword [esp + 0x24], edx
test eax, eax
je 0x46659d
lea eax, [edx + 1]
mov edi, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x466580
cmp cl, 9
jne 0x466ce8
inc eax
jmp 0x466570
cmp byte [esp + 0x8720], 3
jne 0x4665df
mov byte [esp + 0x108], 0
mov dword [esp + 0x24], 0
mov ebp, edi
mov dword [esp + 0x10], ebp
mov byte [esp + 0x1a], 0
mov dl, byte [0x49d350]
mov byte [esp + 0x19], 0
cmp byte [ebp], dl
jne 0x466d4d
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x20
je 0x4665bc
cmp al, 9
je 0x4665bc
mov dword [esp + 0x10], ebp
mov eax, dword [0x49d3c8]
cmp dword [eax + 0x94], 0
je 0x466cbd
push 6
push 0x492624
push edi
call 0x4c5695
add esp, 0xc
test eax, eax
jne 0x46660f
mov dword [esp + 0x1c], 1
jmp 0x466650
push 5
push 0x49262c
push edi
call 0x4c5695
add esp, 0xc
test eax, eax
jne 0x466630
lea esi, [edi + 5]
mov dword [esp + 0x1c], 2
jmp 0x466653
push 6
push 0x492634
push edi
call 0x4c5695
add esp, 0xc
test eax, eax
jne 0x466cbd
mov dword [esp + 0x1c], 3
lea esi, [edi + 6]
mov al, byte [esi]
test al, al
je 0x466c6d
cmp al, 0x20
je 0x466670
cmp al, 9
jne 0x466cbd
lea esp, [esp]
mov al, byte [esi]
cmp al, 0x20
je 0x46667a
cmp al, 9
jne 0x46667d
inc esi
jmp 0x466670
cmp byte [esi], 0
je 0x466c6d
mov bl, byte [esi + 1]
push 0
push 0
mov ecx, esi
mov byte [esi + 1], 0
call 0x4b5210
add esp, 8
mov byte [esi + 1], bl
test eax, eax
je 0x466cbd
cmp byte [ebp + 0x4c], 0
mov ecx, dword [0x49d3c8]
je 0x466860
mov eax, dword [ecx + 0x94]
cmp byte [eax + 0x30], 0
jne 0x466860
cmp dword [esp + 0x1c], 2
setne dl
inc dl
mov byte [eax + 0x30], dl
mov eax, dword [ecx + 0x94]
xor ecx, ecx
cmp byte [eax + 0x30], 1
mov eax, dword [ebp + 4]
mov al, byte [eax]
sete cl
xor edx, edx
cmp dword [esp + 0x1c], 1
sete dl
cmp edx, ecx
setne byte [esp + 0x1a]
cmp al, 0xa
jb 0x466700
cmp al, 0x21
jbe 0x466715
cmp al, 9
je 0x466715
cmp al, 0x68
je 0x466715
cmp al, 0x6a
je 0x466715
mov byte [esp + 0x1b], 0
cmp al, 0x69
jne 0x46671a
mov byte [esp + 0x1b], 1
cmp byte [esi], 0
mov byte [esp + 0x19], 0
mov dword [esp + 0x10], esi
je 0x466c91
mov esi, dword [esp + 0x10]
mov edi, 0x4926ac
mov eax, esi
call fcn.00456bf0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x46675f
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x466750
sub eax, edx
add eax, esi
mov dword [esp + 0x20], eax
mov ebp, eax
xor eax, eax
sub ebp, esi
cmp byte [esp + 0x1a], al
je 0x46677f
mov ecx, dword [0x49d3c8]
mov edx, dword [ecx + 0x94]
cmp byte [edx + 0x30], 1
sete al
inc eax
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x2e]
mov edi, ebp
call fcn.0046b750
mov dword [esp + 0x30], eax
test eax, eax
je 0x466bc4
cmp byte [esp + 0x2a], 0
jne 0x466bd3
mov ebx, eax
mov al, byte [ebx + 0x17]
test al, al
jne 0x4667b9
mov eax, dword [ebx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x466c4d
mov ecx, dword [esp + 0x10]
push ebp
mov eax, 0x4920bc
call 0x4b2080
add esp, 4
test eax, eax
je 0x466c4d
mov ecx, dword [0x49d3c8]
mov eax, dword [ecx + 0x94]
xor esi, esi
cmp dword [eax + 0xc], esi
jle 0x466823
xor edi, edi
mov edx, dword [eax + 8]
mov eax, dword [edx + edi]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x10]
push ebp
call 0x4b2080
add esp, 4
test eax, eax
je 0x466bf1
mov ecx, dword [0x49d3c8]
mov eax, dword [ecx + 0x94]
inc esi
add edi, 0x10
cmp esi, dword [eax + 0xc]
jl 0x4667f0
cmp byte [esp + 0x1a], 0
je 0x466845
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x54]
cmp eax, 0x7d0
jge 0x466c11
mov edx, dword [ecx + 0x50]
mov dword [edx + eax*4], ebx
inc dword [ecx + 0x54]
mov ebp, dword [esp + 0x1c]
cmp ebp, 3
jne 0x4668c0
cmp byte [ebx + 0x17], 0
jne 0x4668ba
mov eax, dword [ebx + 0xc]
or byte [eax + 0x15], 4
jmp 0x4668e9
mov eax, dword [ecx + 0x94]
movzx edx, byte [eax + 0x30]
cmp dword [esp + 0x1c], edx
jne 0x4666d3
mov eax, dword [esp + 0x1c]
cmp eax, 1
jne 0x466897
push edi
push 0x49263c
mov ecx, ebp
call fcn.00477900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
cmp eax, 2
jne 0x4666d3
push edi
push 0x492674
mov ecx, ebp
call fcn.00477900
pop edi
pop esi
pop ebp
or byte [ebx + 0x15], 4
jmp 0x4668e9
cmp ebp, 2
jne 0x4668e9
mov eax, dword [0x49d3c8]
mov ecx, dword [eax + 0x94]
cmp byte [ecx + 0x30], 3
jne 0x4668e9
cmp byte [ebx + 0x17], 0
jne 0x4668e5
mov eax, dword [ebx + 0xc]
and byte [eax + 0x15], 0xfb
jmp 0x4668e9
and byte [ebx + 0x15], 0xfb
mov eax, dword [esp + 0x20]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x4668fc
cmp cl, 9
jne 0x4668ff
inc eax
jmp 0x4668f0
movsx ecx, byte [eax]
mov edi, eax
mov dword [esp + 0x20], edi
cmp ecx, 0x3d
ja case.default.0x466914
movzx edx, byte [ecx + 0x41a318]
jmp dword [edx*4 + 0x41a304]
xor bl, bl
mov al, byte [edi]
xor cl, cl
xor edx, edx
mov esi, edi
test al, al
je 0x4669a8
cmp al, 0x2c
jne 0x466970
test cl, cl
jne 0x46699c
test edx, edx
je 0x4669a4
jmp 0x46699c
movsx eax, al
add eax, 0xffffffde
cmp eax, 0x3b
ja 0x46699c
movzx eax, byte [eax + 0x41a368]
jmp dword [eax*4 + 0x41a358]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x466957
mov dword [esp + 0x20], edi
lea eax, [edi - 1]
mov edi, dword [esp + 0x10]
mov edx, edi
call fcn.00456c50
mov cl, byte [eax + 1]
inc eax
mov dword [esp + 0x34], eax
mov byte [esp + 0x2b], cl
mov byte [eax], 0
cmp ebp, 3
jne 0x466adf
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x18]
mov dword [esp + 0xa8], eax
mov ebp, esi
mov edi, edi
mov al, byte [ebp]
cmp al, 0x20
je 0x4669eb
cmp al, 9
jne 0x4669ee
inc ebp
jmp 0x4669e0
mov bl, byte [0x49d352]
mov ecx, ebp
mov al, byte [ecx]
test al, al
je 0x466a0c
lea esp, [esp]
cmp al, bl
je 0x466a58
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x466a00
mov esi, dword [esp + 0x14]
push 0
push 0x101
lea eax, [esp + 0xb0]
push eax
push 2
push esi
mov dword [esp + 0xc0], ebp
call fcn.00468810
test eax, eax
je 0x466bc4
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x10]
mov dword [esi + 4], eax
mov dword [eax + 0x14], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x466abc
mov edx, dword [esi + 0x25c]
mov dword [eax + 0x14], edx
jmp 0x466ac5
cmp byte [ecx], 0
je 0x466a0c
movsx eax, byte [ecx + 1]
lea esi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja 0x466a9b
movzx edx, byte [eax + 0x41a3c8]
jmp dword [edx*4 + 0x41a3a4]
mov eax, esi
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x466aa0
sub eax, edi
inc eax
push eax
push esi
push ecx
call 0x4c57f0
add esp, 0xc
mov ecx, esi
jmp 0x4669f6
mov eax, dword [esi + 0x25c]
mov dword [esi + 8], eax
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x25c]
mov dword [ecx + 0x10], edx
mov eax, dword [esi + 0x25c]
mov dword [esi + 0xc], eax
jmp 0x466b71
test bl, bl
je 0x466b28
lea edx, [esp + 0x4710]
mov eax, edi
sub edx, edi
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x466af0
push 0
push 1
push 1
push 0x4910f0
lea ecx, [esp + 0x4720]
push str.9y_bu
push ecx
xor eax, eax
or ecx, 0xffffffff
call 0x4b2760
add esp, 0x18
lea esi, [esp + 0x4710]
jmp 0x466b2a
mov esi, edi
cmp byte [esp + 0x1b], 0
je 0x466b53
cmp byte [esp + 0x19], 0
jne 0x466b53
mov edx, dword [esp + 0x14]
push 0
push 0
push 0
push 0x6e
push edx
call fcn.00468810
test eax, eax
je 0x466bc4
mov byte [esp + 0x19], 1
mov ecx, dword [esp + 0x14]
push 0
push 0
push 0
push 0
push 0
push 0
push esi
call fcn.00466520
test eax, eax
je 0x466bc4
mov esi, dword [esp + 0x14]
mov al, byte [esp + 0x2b]
mov ecx, dword [esp + 0x34]
mov byte [ecx], al
mov eax, dword [esp + 0x20]
cmp byte [eax], 0x2c
jne 0x466b96
lea ecx, [eax + 1]
mov al, byte [ecx]
cmp al, 0x20
je 0x466b91
cmp al, 9
jne 0x466b94
inc ecx
jmp 0x466b87
mov eax, ecx
cmp byte [eax], 0
mov dword [esp + 0x10], eax
jne 0x46672c
cmp byte [esp + 0x19], 0
je 0x466c91
push 0
push 0
push 0
push 0x6f
push esi
call fcn.00468810
test eax, eax
jne 0x466c91
mov edx, dword [esp + 0x10]
push edx
push 0x4926b4
mov ecx, ebx
call fcn.00477900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
invalid
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push edx
push 0x49271c
call fcn.00477900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x18]
push 0x4926cc
call fcn.00477900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ecx, dword [esp + 0x1c]
cmp ecx, 2
je 0x466ca3
cmp byte [ebp + 0x4c], 0
je 0x466ca3
mov edx, dword [0x49d3c8]
mov eax, dword [edx + 0x94]
cmp byte [eax + 0x30], 0
jne 0x466ca3
mov byte [eax + 0x30], cl
push edi
push 0x492298
mov ecx, ebp
call fcn.00477900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
push 1
push edi
push ebp
lea ebx, [esp + 0x114]
call fcn.00468640
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x46656b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ebp, eax
mov al, byte [edx + 1]
mov dword [esp + 0x10], ebp
cmp al, byte [0x49d350]
je 0x466d43
test al, al
je 0x466d43
cmp al, 0x20
je 0x466d43
cmp al, 9
je 0x466d43
cmp al, 0x28
jne 0x4665a3
lea eax, [esp + 0x108]
push 0x4920e8
push eax
call 0x4c4cb6
add esp, 8
test eax, eax
je 0x466d43
lea ecx, [esp + 0x108]
push 0x4920ec
push ecx
call 0x4c4cb6
add esp, 8
test eax, eax
jne 0x4665a3
mov byte [esp + 0x1a], 1
jmp 0x4665a8
cmp byte [esp + 0x8720], 0
jne 0x4676b5
cmp byte [esp + 0x8724], 0
jne 0x4673c2
cmp byte [esp + 0x1a], 0
je 0x467197
lea eax, [esp + 0x108]
push 0x4920e8
push eax
call 0x4c4cb6
add esp, 8
test eax, eax
jne 0x467197
mov ebp, dword [esp + 0x10]
mov al, byte [ebp]
cmp al, 0x28
je 0x46700b
cmp al, byte [0x49d351]
jne 0x466dbb
mov al, byte [ebp + 1]
cmp al, 0x20
je 0x46700b
cmp al, 9
je 0x46700b
mov cl, byte [0x49d350]
lea edi, [esp + 0x40]
mov eax, ebp
mov byte [esp + 0x40], 0x20
mov byte [esp + 0x41], cl
mov dword [esp + 0x42], 0x3e3c0928
mov dword [esp + 0x46], 0x2d2b3d3a
mov dword [esp + 0x4a], 0x7e212f2a
mov dword [esp + 0x4e], 0x5b5e7c26
mov word [esp + 0x52], 0x3f2e
mov byte [esp + 0x54], 0
call fcn.00456bf0
test eax, eax
je 0x466e18
mov cl, byte [eax]
cmp cl, 0x20
je 0x466e11
cmp cl, 9
jne 0x466e14
invalid
inc eax
jmp 0x466e05
mov eax, ebp
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x466e20
sub eax, edx
lea edi, [eax + ebp]
mov esi, dword [esp + 0x10]
mov cl, byte [esi]
mov bl, byte [0x49d350]
mov al, byte [esi + 1]
movsx edx, cl
add edx, 0xffffffda
lea ebp, [esi + 1]
cmp edx, 0x56
ja 0x4673c2
movzx edx, byte [edx + 0x41a4b0]
jmp dword [edx*4 + 0x41a488]
mov ebp, dword [esp + 0x10]