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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [0x439040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
mov ecx, ebx
push esi
push edi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a240
sub ecx, edx
push ecx
call fcn.00410f64
mov edx, ebx
mov edi, eax
add esp, 4
mov dword [ebp - 0x30], edi
lea eax, [edx + 1]
nop dword [eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40a260
sub edx, eax
xor esi, esi
xor eax, eax
test edx, edx
jle 0x40a282
mov cl, byte [ebx + eax]
cmp cl, 0x20
je 0x40a27d
mov byte [esi + edi], cl
inc esi
inc eax
cmp eax, edx
jl 0x40a271
mov ebx, dword [ebp - 0x30]
xor eax, eax
xor edi, edi
mov dword [ebp - 0x28], 0x44434241
mov dword [ebp - 0x24], 0x48474645
mov dword [ebp - 0x20], 0x64636261
mov dword [ebp - 0x1c], 0x68676665
mov dword [ebp - 0x18], 0x2a3c2d2b
mov dword [ebp - 0x14], 0x3d3f7c5e
mov dword [ebp - 0x10], 0x33323126
mov dword [ebp - 0xc], 0x37363534
mov dword [ebp - 8], 0x2c303938
mov dword [ebp - 0x2c], 1
test esi, esi
jle 0x40a334
mov dl, byte [edi + ebx]
xor ecx, ecx
nop dword [eax + eax]
cmp dl, byte [ebp + ecx - 0x28]
cmove eax, dword [ebp - 0x2c]
cmp dl, byte [ebp + ecx - 0x27]
cmove eax, dword [ebp - 0x2c]
cmp dl, byte [ebp + ecx - 0x26]
cmove eax, dword [ebp - 0x2c]
cmp dl, byte [ebp + ecx - 0x25]
cmove eax, dword [ebp - 0x2c]
cmp dl, byte [ebp + ecx - 0x24]
cmove eax, dword [ebp - 0x2c]
cmp dl, byte [ebp + ecx - 0x23]
cmove eax, dword [ebp - 0x2c]
add ecx, 6
cmp ecx, 0x24
jb 0x40a2e0
inc ecx
test eax, eax
lea eax, [edx - 0x61]
cmovne ecx, esi
mov esi, ecx
cmp al, 7
ja 0x40a32d
sub dl, 0x20
mov byte [edi + ebx], dl
inc edi
xor eax, eax
cmp edi, esi
jl 0x40a2d3
mov dword [ebp - 0x3c], 1
cmp esi, 5
jl 0x40a398
cmp esi, 6
je 0x40a59b
mov ecx, dword [ebp - 0x30]
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x40], 1
cmp esi, 5
lea eax, [ecx + 1]
sete bl
mov dword [ebp - 0x48], eax
lea edi, [edx + 5]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
nop dword [eax]
mov cl, byte [edx + ecx]
cmp edi, esi
cmovge ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x44], ebx
cmp cl, 0x2c
jne 0x40a388
mov eax, 1
jmp 0x40a3c6
cmp eax, 1
jne 0x40a3b7
sub cl, 0x41
cmp cl, 7
jbe 0x40a3c5
mov ebx, dword [ebp - 0x30]
push ebx
call fcn.00410f6d
add esp, 4
mov eax, 0xd9
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x40a3d8
cmp cl, 0x3d
jne 0x40a50d
inc eax
inc dword [ebp - 0x38]
inc edx
inc edi
cmp edx, esi
jge 0x40a579
mov ecx, dword [ebp - 0x30]
jmp 0x40a370
cmp eax, 3
jne 0x40a3e7
sub cl, 0x41
cmp cl, 7
ja 0x40a395
jmp 0x40a3c5
cmp eax, 4
jne 0x40a414
cmp cl, 0x2b
je 0x40a3c5
cmp cl, 0x2d
je 0x40a3c5
cmp cl, 0x3c
je 0x40a3c5
cmp cl, 0x2a
je 0x40a3c5
cmp cl, 0x5e
je 0x40a3c5
cmp cl, 0x7c
je 0x40a3c5
cmp cl, 0x3f
je 0x40a3c5
cmp cl, 0x26
jmp 0x40a3bf
cmp eax, 5
jne 0x40a3c5
mov eax, dword [ebp - 0x38]
xor ebx, ebx
cmp cl, 0x26
sete bl
mov al, byte [eax]
cmp al, 0x26
cmove ebx, dword [ebp - 0x2c]
cmp cl, 0x2b
cmove ebx, dword [ebp - 0x2c]
cmp al, 0x2b
cmove ebx, dword [ebp - 0x2c]
cmp cl, 0x2d
cmove ebx, dword [ebp - 0x2c]
cmp al, 0x2d
cmove ebx, dword [ebp - 0x2c]
cmp cl, 0x3c
cmove ebx, dword [ebp - 0x2c]
cmp al, 0x3c
cmove ebx, dword [ebp - 0x2c]
cmp cl, 0x2a
cmove ebx, dword [ebp - 0x2c]
cmp al, 0x2a
cmove ebx, dword [ebp - 0x2c]
cmp cl, 0x5e
cmove ebx, dword [ebp - 0x2c]
cmp al, 0x5e
cmove ebx, dword [ebp - 0x2c]
cmp cl, 0x7c
cmove ebx, dword [ebp - 0x2c]
cmp al, 0x7c
cmove ebx, dword [ebp - 0x2c]
cmp cl, 0x3f
cmove ebx, dword [ebp - 0x2c]
cmp al, 0x3f
mov eax, ebx
mov dword [ebp - 0x40], ebx
mov ebx, 1
cmove eax, ebx
mov ebx, dword [ebp - 0x44]
cmp cl, 0x41
jb 0x40a49d
cmp cl, 0x48
jbe 0x40a4fc
cmp cl, 0x3d
je 0x40a395
test eax, eax
jne 0x40a395
test ebx, ebx
jne 0x40a551
cmp dword [ebp - 0x3c], ebx
jne 0x40a598
mov eax, dword [ebp - 0x48]
mov al, byte [eax + edx]
mov byte [ebp - 0x31], al
cmp al, 0x2c
jne 0x40a4e3
sub cl, 0x30
cmp cl, 9
ja 0x40a395
lea eax, [ebx + 1]
mov dword [ebp - 0x3c], ebx
jmp 0x40a3c6
movzx eax, cl
lea ecx, [eax + eax*4]
movzx eax, byte [ebp - 0x31]
lea eax, [eax + ecx*2]
cmp eax, 0x24f
ja 0x40a52f
inc edx
inc edi
inc dword [ebp - 0x38]
mov eax, 1
mov dword [ebp - 0x3c], 0
jmp 0x40a3c6
mov ebx, dword [ebp - 0x30]
push ebx
call fcn.00410f6d
add esp, 4
mov eax, 0xda
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x30]
push ebx
call fcn.00410f6d
add esp, 4
mov eax, 0xdd
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x3c], 0
mov ebx, dword [ebp - 0x30]
jne 0x40a59b
push ebx
call fcn.00410f6d
add esp, 4
mov eax, 0xdc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x30]
push ebx
call fcn.00410f6d
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004106cd
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x30]
push ebx
call fcn.00410f6d
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
mov eax, 0xdb
pop edi
pop esi
pop ebx
call fcn.004106cd
mov esp, ebp
pop ebp
ret