Function at 0x410320
Capabilities:
Encode data using xor
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x4147a0]
push ebx
push esi
xor eax, 0xffffffd4
push edi
push eax
call fcn.00410ca0
mov edi, dword [0x4147b4]
mov esi, dword [0x414790]
mov edx, dword [0x4147c0]
xor edi, 1
xor ecx, ecx
cmp esi, 0x3d
setl cl
push 0
sub edx, ecx
push 0
push 0
mov dword [0x4147b4], edi
mov dword [0x4147c0], edx
call fcn.0040c250
push 0
push 0
push 0x912
push 1
push 1
push 0xffffffffffffffff
call fcn.00412230
push 0
push 0
push 0
push 0xfffff9f4
call fcn.00403870
push 0
push 0x3c
push 0x2c
call fcn.0040c250
push fcn.0040c480
push 0
push 1
push 0xffffffffffffffd3
push 0
call fcn.0040c110
push 0xffffffffffffffff
push 0
push 0xffffffffffffffcd
push 1
call fcn.00403870
push 1
push 1
push 0xffffffffffffffdf
push 0xffffffffffffffff
call fcn.00403af0
push dword fs:[0]
push 0x10
push 0
push 1
push 1
call fcn.00403af0
push 0
push 4
push 1
push 1
call fcn.00403af0
push 0
push 0xffffb0c8
push 0
push 0xffffffffffffffc7
call fcn.0040c110
mov dword fs:[0], esp
push 0xfffff029
push 0xfffffffffffffffb
push 1
push 0xfffffffffffffff6
call fcn.00403af0
push 0
push 0
push 0
push 0
call fcn.0040c110
xor esi, esi
mov eax, dword [0x414810]
xor edi, edi
test eax, eax
je 0x4104d0
xor edx, edx
cmp edi, esi
setne dl
push edx
call fcn.00410ca0
xor ecx, ecx
cmp edi, esi
setge cl
shl edi, cl
mov eax, 0xffffffda
xor ecx, ecx
mov ebx, dword [0x414810]
sub eax, edi
xor edi, eax
cmp edi, 0x3f
mov edx, edi
setl cl
shl esi, cl
mov ecx, esi
sar edx, cl
add esi, edx
mov edx, edi
mov eax, esi
mov ecx, esi
xor eax, 0xffffffc1
dec ebx
sar ecx, 0x3c
push eax
push ecx
mov ecx, esi
mov dword [0x414810], ebx
shl edx, cl
push edx
call fcn.0040c250
mov ecx, edi
xor eax, eax
and ecx, 0x23
shl esi, cl
cmp esi, 0xffffffe0
sete al
xor esi, eax
xor eax, eax
cmp esi, edi
mov ecx, esi
setge al
or ecx, edi
xor edx, edx
cmp esi, edi
push ecx
setl dl
xor ecx, ecx
cmp esi, 0xffffffd3
push edx
push 1
setle cl
push ecx
push eax
push eax
call fcn.00412230
mov eax, dword [0x414810]
mov edx, esi
mov ecx, esi
shl edx, cl
and edi, edx
test eax, eax
jne 0x41042e
lea ecx, [esi - 0x2f]
xor eax, eax
sar esi, cl
push 0xffffffffffffffeb
test esi, esi
setl al
push eax
push 0
push esi
call fcn.0040c110
mov edi, esi
mov edx, 0x28
xor edi, 0xffffffd5
mov ecx, edi
shl edx, cl
push edx
call fcn.00410ca0
mov eax, edi
mov ecx, esi
shl eax, cl
lea ecx, [esi + esi*4]
shl ecx, 3
or edi, eax
sub ecx, esi
je 0x410512
mov esi, 0xffffffdc
mov edx, esi
xor edx, 0x28
push edx
call fcn.00410ca0
mov ecx, esi
lea edx, [esi - 0x3e]
sar edi, cl
shl ecx, 6
sub ecx, esi
lea eax, [edi - 0x22]
push eax
push ecx
push edx
call fcn.0040c250
mov eax, esi
mov ecx, edi
sar eax, cl
push 1
mov dword [ebp - 4], 0
mov ecx, eax
lea eax, [ebp - 4]
sar esi, cl
inc edi
push eax
mov ecx, edi
push 0x3f
sar ecx, 0x22
sar edi, cl
xor ecx, ecx
push 0x3a
cmp edi, 0xffffffc3
setle cl
and esi, ecx
mov edx, esi
shl edx, 0xcb
xor esi, edx
call dword [0x41307c]
mov edx, edi
mov ecx, esi
sar edx, cl
mov eax, esi
sub edi, edx
shl eax, 5
je 0x410581
and ecx, edi
shl esi, cl
push 0x29
push 0x29
call fcn.004127ac
mov ecx, esi
xor ecx, 0xffffffc1
or esi, ecx
mov edx, esi
imul edx, edi
test edx, edx
je 0x4105bb
mov eax, 0x35
mov ecx, esi
sar eax, cl
mov edx, 0x3b
sar edx, cl
push eax
xor eax, eax
cmp edi, esi
push 0
setg al
push edx
push eax
call fcn.00403870
lea ecx, [ebp - 0x30]
dec edi
push ecx
push 0x25
call dword [0x413074]
cmp esi, 0x21
jl 0x4105ed
xor edx, edx
cmp esi, edi
mov eax, edi
setge dl
xor eax, 0xffffffd8
xor ecx, ecx
cmp esi, 0xffffffc5
push edx
setl cl
push eax
lea edx, [edi - 0x28]
push ecx
push edx
call fcn.00403870
mov eax, esi
push 0x953
imul eax, edi
push 0x2b
or edi, eax
call dword [0x41300c]
mov ecx, edi
lea edx, [ebp - 4]
sub ecx, esi
push edx
sar esi, cl
lea ecx, [edi + 0x2c]
push 0x23
or edi, ecx
mov dword [ebp - 4], 0x29
call dword [0x413070]
mov eax, esi
mov ecx, 0xfffffff0
or eax, edi
push 0xfc1
push str.K5nvv2R4WJEetM77
sub ecx, eax
push 0x239
push 0x28
add esi, ecx
call dword [0x413010]
mov eax, esi
xor edx, edx
neg eax
shl eax, 2
sub eax, esi
lea ecx, [edi + edi]
lea eax, [eax + eax*8]
xor eax, esi
cmp edi, 0x30
sete dl
add eax, edx
shl edi, cl
lea ecx, [eax + 0x2d]
test ecx, ecx
je 0x410683
xor edx, edx
cmp edi, 0xffffffc9
setge dl
xor ecx, ecx
cmp edi, 0x3a
setne cl
push edx
push ecx
sub eax, edi
push 0
push eax
call fcn.00403870
mov esi, edi
mov ebx, 0xffffffd3
mov ecx, esi
xor ecx, 0x31
shl ebx, cl
cmp esi, ebx
jne 0x41069f
xor edx, edx
cmp ebx, 0x32
setl dl
or ebx, edx
mov ecx, esi
xor eax, eax
imul ecx, esi
sar esi, cl
mov edx, ebx
cmp esi, 0x27
setne al
xor ecx, ecx
cmp esi, 0x21
push eax
push 0
sete cl
and edx, esi
push ecx
push edx
call fcn.00403870
mov ecx, ebx
shl ecx, 4
add ecx, ebx
shl ecx, 1
shl ebx, cl
mov ecx, ebx
and ecx, 0x21
shl esi, cl
lea esi, [esi + ebx + 0x27]
mov eax, esi
mov ecx, esi
shl eax, cl
and esi, eax
cmp ebx, esi
jle 0x410703
xor ecx, ecx
cmp ebx, 0xffffffe0
setl cl
push ecx
mov ecx, ebx
imul ecx, esi
mov eax, ebx
lea edx, [ebx + esi]
or eax, esi
push edx
push eax
push ecx
call fcn.0040c110
xor edx, edx
cmp esi, 0x3f
setg dl
sub esi, edx
cmp esi, 0x39
jl 0x41071c
xor eax, eax
cmp ebx, 0x32
sete al
and esi, eax
add ebx, esi
push 0xffffffffffffffe0
push 0
lea edx, [esi + 0x25]
lea ecx, [ebx + 0x24]
push ecx
push esi
push edx
push 0
call fcn.00412230
lea ebx, [ebx + esi - 0x2d]
mov eax, ebx
or eax, esi
je 0x410746
xor ecx, ecx
cmp esi, 0xffffffd6
setle cl
and esi, ecx
mov edx, esi
lea edi, [esi + esi]
mov eax, esi
xor edx, 0x25
mov ecx, esi
push edi
shl eax, 0x31
push edx
and ecx, 0x3f
push eax
push ecx
call fcn.0040c110
mov ecx, ebx
mov edx, 0xffffffc1
xor ecx, 0x35
shl ebx, cl
mov ecx, esi
sar edx, cl
and ebx, edx
test bl, 0x24
je 0x41078f
xor eax, eax
cmp ebx, 0xffffffcf
sete al
sub ecx, ebx
push eax
push ecx
lea edx, [esi - 0x31]
push 1
push edx
call fcn.00403870
mov ecx, ebx
imul ecx, ecx, 0x2a
sar ebx, cl
test edi, edi
je 0x41079f
lea ecx, [esi - 0x39]
sar esi, cl
mov eax, 0x34
or esi, 1
sub eax, ebx
je 0x4107b5
xor ecx, ecx
cmp ebx, 0x26
sete cl
sub ebx, ecx
mov edx, esi
mov ecx, esi
shl edx, cl
test edx, edx
je 0x4107c9
xor eax, eax
cmp esi, 0x2f
setl al
and ebx, eax
mov ecx, ebx
xor ecx, esi
shl esi, cl
xor ecx, ecx
cmp esi, 0x3c
setl cl
or esi, ecx
xor ecx, ecx
cmp ebx, 0x24
setle cl
sar ebx, cl
cmp ebx, 0x20
jge 0x4107e9
dec ebx
mov eax, dword [0x414814]
test eax, eax
je 0x4108f3
mov edi, dword [section..edata]
xor eax, eax
cmp ebx, esi
mov edx, esi
mov ecx, ebx
setl al
xor edx, 0x34
push eax
xor ecx, 0xffffffda
push edx
push ecx
lea edx, [ebx + ebx]
push 1
push edx
push eax
call fcn.00412230
xor eax, eax
cmp esi, 0x2b
setg al
and esi, eax
xor ecx, ecx
cmp esi, ebx
lea eax, [ebp - 4]
setge cl
and ebx, ecx
xor edx, edx
cmp ebx, 0xffffffdc
push eax
setle dl
push 0
xor esi, edx
mov dword [ebp - 4], 0x2d
call edi
mov ecx, esi
xor eax, eax
and ecx, 0x2f
cmp ebx, 0x31
lea edx, [ebx + esi]
push ecx
setl al
push edx
push eax
push 0xffffffffffffffff
call fcn.00403870
xor ecx, ecx
cmp ebx, 0x3d
push 8
push 0x65
setl cl
push 0x40
add ebx, ecx
add esi, 0x23
call fcn.004127a6
mov edx, ebx
push 0
sar edx, 0x2b
push edx
push 0
call fcn.0040c250
mov eax, esi
push 0x36
and al, 0xd1
push 0x2b
push 0x3c
sub ebx, eax
call fcn.004127a0
xor ecx, ecx
cmp esi, ebx
setg cl
sar esi, cl
mov edx, 0xffffffdf
mov ecx, ebx
sar edx, cl
xor eax, eax
cmp esi, ebx
mov ecx, esi
setl al
push edx
push eax
shl ecx, 0xd1
push 0
push ecx
call fcn.0040c110
lea edx, [ebx + 0x29]
xor ebx, 1
or esi, edx
mov edx, dword [0x414814]
dec edx
cmp esi, 0x2a
mov dword [0x414814], edx
jle 0x4108e6
xor ecx, ecx
cmp esi, 0x3b
setne cl
shl ebx, cl
mov eax, dword [0x414814]
test eax, eax
jne 0x4107fc
mov ecx, ebx
xor eax, eax
sar ecx, 0xd1
shl ebx, cl
mov ecx, dword [0x414818]
mov dword [ebp - 4], eax
test ecx, ecx
je 0x410961
mov esi, ebx
mov edi, ebx
xor esi, 0xffffffc8
shl edi, 0x31
mov edx, dword [0x414818]
dec edx
test eax, ebx
mov dword [0x414818], edx
je 0x41093e
mov ecx, eax
mov edx, 0x23
and ecx, 0x22
and al, 0xd4
push ecx
mov ecx, ebx
shl edx, cl
push edx
push 0x32
push eax
call fcn.0040c110
push 0xffffffffffffffee
push esi
push 0
call fcn.0040c250
mov eax, dword [ebp - 4]
sub eax, edi
and eax, ebx
and eax, 0x36
mov dword [ebp - 4], eax
mov eax, dword [0x414818]
test eax, eax
mov eax, dword [ebp - 4]
jne 0x410913
test al, 0x23
je 0x410987
xor ecx, ecx
cmp ebx, 0xffffffd1
setg cl
xor edx, edx
cmp ebx, 0x27
setne dl
push ecx
push edx
shl eax, 0x3f
push 1
push eax
push ebx
push ebx
call fcn.00412230
mov eax, dword [ebp - 4]
mov edx, 0x3a
mov ecx, eax
shl edx, cl
mov ecx, ebx
and eax, edx
xor ecx, eax
shl eax, cl
mov ecx, ebx
sub ecx, eax
mov dword [ebp - 4], eax
or ebx, ecx
mov edx, ebx
imul edx, ebx
test edx, edx
je 0x4109b4
mov ecx, ebx
or ecx, 0xffffffc9
add eax, ecx
mov dword [ebp - 4], eax
or ebx, 0xa87
mov ecx, eax
mov edx, ebx
shl edx, cl
push edx
call fcn.00410ca0
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp eax, 0x37
push 0
sete cl
add ebx, ecx
xor edx, edx
cmp eax, 0x31
setg dl
sub eax, edx
xor ecx, ecx
cmp ebx, 0x31
mov edx, 0x3a
setg cl
push ecx
mov ecx, ebx
imul ecx, eax
sub edx, eax
mov dword [ebp - 4], eax
push edx
mov edx, ebx
push ecx
and edx, 0x24
xor ecx, ecx
cmp eax, 0xffffffde
setl cl
push edx
push ecx
call fcn.00412230
mov eax, dword [ebp - 4]
mov ecx, ebx
shl eax, 0x3e
mov edx, eax
push 0
sar edx, cl
xor ecx, ecx
push 0
push 1
sub eax, edx
cmp ebx, eax
mov dword [ebp - 4], eax
setl cl
add ebx, ecx
mov ecx, ebx
sar eax, cl
push eax
push 1
push 0
call fcn.00412230
mov edi, dword [ebp - 4]
lea ecx, [edi + edi]
sar edi, cl
lea ecx, [edi + 0x35]
sar ebx, cl
mov edx, ebx
mov ecx, ebx
shl edx, cl
mov eax, ebx
and edi, edx
mov ecx, edi
sar eax, cl
test eax, eax
je 0x410a64
xor ecx, ecx
cmp ebx, 0xffffffc6
setg cl
sub edi, ecx
mov edx, ebx
mov eax, ebx
and edx, edi
and eax, 0x29
push edx
lea ecx, [ebx + ebx]
push eax
push ecx
call fcn.0040c250
lea esi, [ebx + 0x29]
lea edx, [edi + 0x38]
and esi, ebx
xor esi, edx
mov ecx, esi
shl ecx, 0x3d
xor ecx, edi
shl ecx, 1
shl esi, cl
call fcn.0040c480
xor eax, eax
cmp esi, 0x30
sete al
push eax
lea ecx, [esi + esi]
push 1
push ecx
push 0
mov edi, esi
call fcn.00403870
xor edx, edx
cmp esi, 0xffffffd2
sete dl
add esi, edx
cmp esi, 0x21
jne 0x410abc
sar edi, 0xfb
mov eax, esi
or eax, 0xffffffd9
je 0x410acc
xor ecx, ecx
cmp esi, edi
setg cl
sub esi, ecx
mov edx, edi
mov ecx, edi
sar edx, cl
test edx, edx
je 0x410add
push 0
call fcn.00410ca0
mov ecx, edi
xor ecx, 0x28
sar edi, cl
mov eax, edi
imul eax, edi
sub esi, eax
mov ecx, esi
sar ecx, 0x3b
sar esi, cl
xor ecx, ecx
cmp edi, 0xffffffcf
setg cl
shl esi, cl
sub esi, 0x22
push esi
call fcn.00410ca0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret