Function at 0x4361c4
Capabilities:
Check os version
Encode data using base64
Encrypt data using aes mixcolumns step
Parse credit card information

Disassembly:
pop dword [esp - 4]
mov al, byte [ebp + 0xb]
add esp, 0x30
add eax, 0
cmp bl, 1
shr di, 0x40
mov cl, cl
mov byte [esi + 0xba], bl
js 0x45c0f0
jns 0x4361f1
cpuid
pop edi
ret
jns 0x45c0f0
fnstenv [ebx + 0x78015ff]
arpl word [eax], ax
test eax, eax
jb 0x439d8b
xchg bh, dl
xchg dl, bh
js 0x44dc9e
jns 0x436217
fiadd dword [edi + 0x6a]
sbb cl, ch
xor eax, 0xf70001a7
test al, 0x68
iretd
js 0x43623c
jns 0x43d5ce
mov ch, 0xf
dec eax
loopne 0x43d5de
jns 0x43623c
mov dword [eax - 0x74], ebp
invalid
xor byte [ebp - 0x15], 0xff
cmc
shl edx, 0x20
mov ebp, esp
sub esp, 0x58
mov eax, dword [ebp + 0xc]
push ebx
jmp 0x43d5e9
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 4], 0
mov dword [ebp - 8], eax
stc
jb 0x44188e
jmp dword [esi]
dec esp
add ecx, dword [edi]
test dword [esi], esi
xor al, 1
add byte [esp + eax + 0xf], dh
mov byte [0x840fc3c5], al
sub dh, byte [ecx + eax]
add byte [ebx*4 - 0xb38277], dh
inc ecx
mov eax, dword [ebp - 4]
push 0x4510f9
ret
mov dword [0x5d2170], eax
mov di, di
je 0x44dcba
jne 0x44dcb0
lodsb al, byte [esi]
mov eax, 0x5d2118
mov eax, 0x5d2118
mov dword [0x5d2170], eax
shr eax, 0x40
ret
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xb
push edi
mov dword [0x5d21a9], 0xffffffff
call fcn.0044b565
add esp, 8
mov eax, 1
pop edi
mov bx, bx
pop esi
push 0x46697c
ret
add ch, 0
js 0x441887
jns 0x44ef10
stc
pop ss
or dword [edi], 0xff297189
invalid
jns 0x441887
fmul dword [ecx]
jmp 0x45bfbf
shr ebp, 0x40
push eax
push esi
push ebx
pop ebx
xchg cl, ah
shr bl, 0x40
xchg ah, cl
mov byte [esi + 0xba], cl
mov byte [esi + 0xbb], 0
shl bh, 0x20
mov word [esi + 0xbc], dx
push edi
xchg di, di
pop edi
xchg ebp, ebx
xchg ebx, ebp
call fcn.0045901b
js 0x451663
jns 0x44efa6
loopne 0x44f01b
out 0xd3, al
jns 0x451663
xor eax, 0x8768d00
shl si, 0x20
mov dword [ebp + 0x40], esp
jmp dword [esi]
inc eax
jmp 0x43d5c2
sub ebp, dword [ecx - 0x40]
out dx, eax
inc eax
mov al, al
sbb dword [edi], ebx
jne 0x441896
je 0x4535bd
mov al, 0x88
dec ebp
je 0x441896
and byte [ebx + 0x42], 0x66
cmp eax, 0xf688ffff
inc edx
cmp ax, 0xffff
mov dh, dh
jne 0x4612c0
je 0x4535d8
pop ds
mov eax, 0xedc1660d
inc eax
shr bp, 0x40
jmp 0x44c8a6
mov edi, dword [edx*8 + 0x5d2475]
sub esi, 0
test edi, edi
jb 0x42c345
jne 0x45fbef
je 0x453605
out dx, eax
stc
call fcn.0044c8a2
add eax, 0x57c8d9b
add al, ch
call 0xda453659
push esp
jmp 0x453618
push eax
call fcn.00461c96
jmp 0x45782a
test edi, 0x180275d3
cmp bl, 2
mov ax, ax
shr bp, 0x40
jne 0x44ef02
je 0x45714e
nop
cpuid
ret 0x8966
mov ax, di
mov al, al
mov bh, bh
shr di, 0x40
shr dx, 0x40
mov ecx, edi
xchg esi, ebx
shl dl, 0x20
shl ah, 0x20
xchg dx, ax
shl bh, 0x20
shl ch, 0x20
mov dl, dl
xchg dx, ax
mov di, di
xchg ebx, esi
lea edi, [edi]
shr ax, 0xc
mov edi, edi
mov dx, dx
mov dh, dh
shl ecx, 4
or eax, ecx
jb 0x4535a9
xor ax, word [esi + 6]
jb 0x4535ba
stc
mov cx, cx
jb 0x4571a3
cmpsd dword [esi], dword es:[edi]
mov ch, 0xe9
jb 0x430785
fiadd dword [edi]
jmp 0x44dffb
push esi
shl si, 0x20
push ebx
call fcn.0045bf61
add esp, 0x2c
jmp 0x45bfc0
push edx
push eax
xchg ebp, ebx
shl ch, 0x20
mov ecx, ecx
xchg ebx, ebp
mov si, si
call fcn.00461c96
mov al, byte [ebp + 0xc]
jne 0x435349
je 0x45bfe3
or bh, bl
into
adc dword [edi], ecx
test byte [eax - 0x6d], ah
std
inc dword [0xeec1660c]
je 0x435349
add eax, 0xeec1660c
inc eax
mov dl, dl
shr cl, 0x40
jno 0x4340a1
mov si, si
jo 0x45c002
sub cl, byte es:[ecx]
jo 0x4340a1
fldln2
lea esp, [esp + 4]
shr edx, 0x40
mov byte [eax + 2], 0
mov word [eax], 0
mov bp, bp
mov edi, dword [ecx]
add ecx, 4
mov dword [eax - 8], edi
sub ah, 0
add eax, 0xc
dec edx
jne 0x45d713
je 0x45c03b
mov ecx, 0xd2840f7e
push ss
add byte [eax], al
je 0x45d713
fst dword [edx + 0x660c768d]
add ecx, 0x816690ac
jmp 0x3cb50fe
mov byte [esi + 0xbb], al
xchg si, ax
xchg si, ax
push ecx
mov cx, 0xed91
pop ecx
mov word [esi + 0xbc], di
xchg bh, cl
xchg bl, ch
xchg ch, bl
xchg cl, bh
jne 0x457132
je 0x45c11b
lodsd eax, dword [esi]
dec edx
sub al, 0x68
mov ah, ah
xchg dx, di
shl ebx, 0x20
xchg di, dx
mov cx, di
shl ax, 0x20
mov edx, edi
mov si, si
shr cx, 0xa
mov ecx, ecx
shl edx, 6
jmp fcn.00453be3
jne 0x45c00e
je 0x45d71f
cpuid
nop
ret
js 0x462342
jns 0x45d72b
xor eax, 0xff5a4f2
mov dword [ecx], edx
dec esp
add byte [eax], al
jns 0x462342
fsubr dword [edi + 0x69]
mov cl, 0x44
add byte [edx], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [esi], al
mov ebp, 0xc57f0043
inc ebx
add byte [edx], cl
int1
inc esp
add byte [ebx - 0x29], dl
inc ebp
add byte [ecx + ecx], ch
iretd
fidiv dword [edx - 0xd002d78]
mov ebx, dword [ebp - 4]
test dx, 0xf22f
test ebx, ebx
jb 0x45dbf9
jne 0x42f2ec
je 0x45fc0b
cdq
adc dh, byte ss:[eax]
xchg ebp, ecx
xchg ecx, ebp
push esi
call fcn.00454115
add esp, 4
test al, al
jb 0x442006
jne 0x42f2ec
je 0x45fc2f
mov edx, dword [0x66f6ffc5]
mov ecx, ecx
push esi
mov cx, cx
call fcn.00448b00
add esp, 4
test al, 1
jb 0x44ad43
jne 0x42f2ec
lahf
idiv ah
push dword [esp + eax - 0x2c]
pop edx
je 0x45fc53
aam 0x5a
mov ecx, ecx
mov eax, dword [ebp - 0x44]
ja 0x4381a3
jbe 0x45fc62
xchg dword [edi], ecx
mov byte [0x3b860fc3], al
test ebp, edi
invalid
jbe 0x4381a3
fnstenv [ebx + 0x66]
mov edx, dword [ebp + 0x10]
js 0x44ef66
jns 0x45fc7a
cpuid
ret
jns 0x44ef66
or byte [eax + 6], 0xbd
inc ebx
add byte [ecx], bl
or eax, 0xf10a0044
inc esp
add byte [esi + 0x430045fc], dl
jns 0x45fc49
invalid
cmp ax, word [ebp + 8]
je 0x4535e6
jne 0x4612d0
inc esi
sar dword [edi + 0x418b668b], cl
or byte [ecx + 0x8c1], al
add byte [edi], cl
xchg ebp, esp
and bh, bh
push dword [esi + 4]
mov ax, word [ecx + 8]
add ecx, 8
ja 0x4535c5
jbe 0x4612e6
jno 0x4612f8
dec esp
mov byte [0x22d9860f], al
invalid
jbe 0x4535c5
fnstenv [ebx]
mov ebx, dword [ebp + 0x44]
mov edx, dword [esi + 8]
shr bh, 0x40
mov eax, dword [esi + 4]
lea esi, [esi + 0xc]
inc esi
add al, 0x8d
jbe 0x461309
mov byte [ebx + edx], al
jmp dword [esi]
invalid
mov edi, dword [ebp + 0x10]