Function at 0x631ea6
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Execute anti-debugging instructions
Parse credit card information
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov byte [esp + 0x44a], bl
rol dl, 0xba
shr dl, cl
or si, 0xebbd
mov byte [esp + 0x4b0], 0x5b
mov byte [esp + 0x4b1], cl
mov dl, 0xb6
mov dl, 0x73
mov byte [esp + 0x4b2], 0x6e
and si, 0x5b98
not esi
adc esi, 0xa883849d
mov byte [esp + 0x4b3], 0x68
mov byte [esp + 0x4b4], cl
or esi, 0x921254bd
bt si, 0xa4
mov byte [esp + 0x4b5], cl
shrd esi, ebp, 0x1b
bsf si, bp
sbb esi, edi
mov byte [esp + 0x4b6], 0x6b
movsx esi, ax
rcl si, 0x80
mov byte [esp + 0x4b7], 0x2e
xadd esi, esi
and si, 0x77b2
movzx esi, di
mov byte [esp + 0x4b8], bl
sbb si, di
mov byte [esp + 0x3dc], 0x2e
test ah, 0xae
mov byte [esp + 0x3dd], dl
neg si
mov byte [esp + 0x3de], al
bts si, si
mov byte [esp + 0x3df], 0x72
or esi, ebx
neg si
mov byte [esp + 0x3e0], 0x5d
xor esi, ecx
mov byte [esp + 0x3e1], bl
mov byte [esp + 0x33c], 0x23
bsf esi, edi
mov byte [esp + 0x33d], 0x33
mov byte [esp + 0x33e], 0x32
or si, bx
mov byte [esp + 0x33f], 0x37
mov byte [esp + 0x340], 0x37
dec esi
mov byte [esp + 0x341], 0x30
shl si, 0xb6
mov byte [esp + 0x342], bl
and si, 0x2519
btc si, 0x2c
mov byte [esp + 0x394], 0x43
cmc
test dx, 0x941d
mov byte [esp + 0x395], cl
btr si, sp
mov byte [esp + 0x396], 0x6d
btc si, ax
sbb si, 0x848d
neg esi
mov byte [esp + 0x397], 0x62
mov byte [esp + 0x398], cl
mov byte [esp + 0x399], 0x4c
mov byte [esp + 0x39a], 0x42
bt si, ax
rcl si, 0xb3
mov si, sp
mov byte [esp + 0x39b], cl
mov byte [esp + 0x39c], 0x78
test cx, bp
mov byte [esp + 0x39d], bl
inc esi
bt si, cx
mov byte [esp + 0x4bc], 0x70
bt esi, esp
and esi, 0x930f1411
mov byte [esp + 0x4bd], 0x63
mov byte [esp + 0x4be], 0x68
bsf si, ax
mov esi, esp
mov byte [esp + 0x4bf], 0x75
mov byte [esp + 0x4c0], 0x6e
sal si, 0xba
adc esi, 0xc024142c
bsf si, cx
mov byte [esp + 0x4c1], 0x74
sbb esi, 0x551bfebd
mov byte [esp + 0x4c2], al
mov byte [esp + 0x4c3], 0x72
sub si, di
or esi, 0x298132b3
test edi, 0x9c0a2829
mov byte [esp + 0x4c4], bl
mov byte [esp + 0x4ec], 0x50
stc
mov byte [esp + 0x4ed], 0x43
bt si, 0x27
mov byte [esp + 0x4ee], 0x48
test ax, 0xf005
btr si, 0xba
mov byte [esp + 0x4ef], 0x75
cmp ah, 0x16
mov byte [esp + 0x4f0], 0x6e
adc esi, 0xec85fd3c
sbb esi, 0xfd837b2b
mov byte [esp + 0x4f1], 0x74
mov byte [esp + 0x4f2], al
shld si, di, 0xb6
mov byte [esp + 0x4f3], 0x72
test ax, di
cmp bl, ch
mov byte [esp + 0x4f4], bl
inc esi
mov byte [esp + 0x40c], 0x54
mov byte [esp + 0x40d], al
bt esi, ecx
mov byte [esp + 0x40e], dl
sbb esi, 0xd20ba527
mov byte [esp + 0x40f], 0x6c
or esi, edx
mov byte [esp + 0x410], 0x61
or esi, ebp
mov byte [esp + 0x411], bl
mov byte [esp + 0x3c0], 0x54
mov byte [esp + 0x3c1], 0x68
cmovbe si, bp
sbb si, 0x228a
mov byte [esp + 0x3c2], 0x75
adc esi, 0x8a9e1727
mov byte [esp + 0x3c3], 0x6e
jmp 0x63d188
mov byte [esp + 0x4d7], 0x5f
mov byte [esp + 0x4d8], 0x66
mov byte [esp + 0x4d9], cl
sbb dl, 3
rcl dl, cl
mov byte [esp + 0x4da], 0x72
movzx esi, ax
mov byte [esp + 0x4db], 0x6d
and esi, 0x4130af8a
mov byte [esp + 0x4dc], bl
mov dl, 0xb2
mov byte [esp + 0x494], cl
mov byte [esp + 0x495], 0x62
rcr dl, 0xa7
mov byte [esp + 0x497], 0x5f
test cx, bx
add si, sp
sbb si, 0x6ab5
mov byte [esp + 0x498], 0x61
rol esi, 0xb7
mov byte [esp + 0x499], 0x70
mov byte [esp + 0x49a], 0x70
adc dl, bl
stc
mov byte [esp + 0x49b], bl
mov byte [esp + 0x44c], 0x57
xor esi, esi
clc
mov byte [esp + 0x44d], 0x69
stc
mov byte [esp + 0x44e], 0x6e
adc dl, 0x25
mov byte [esp + 0x44f], 0x64
mov byte [esp + 0x450], cl
bsr si, si
adc esi, 0x5507ed32
bt esi, 0x9a
mov byte [esp + 0x451], 0x77
rcl dl, 3
mov byte [esp + 0x452], bl
sbb esi, 0xc72ee2b8
rcl esi, 0x25
mov byte [esp + 0x414], 0x43
dec esi
mov byte [esp + 0x415], 0x68
bswap esi
mov byte [esp + 0x416], al
sal esi, 0xa1
mov byte [esp + 0x417], 0x61
mov byte [esp + 0x418], 0x74
mov byte [esp + 0x419], 0x20
bswap si
mov byte [esp + 0x41a], 0x45
mov byte [esp + 0x41b], 0x6e
sub dl, 0x27
or dl, cl
mov byte [esp + 0x41c], 0x67
and si, dx
mov byte [esp + 0x41d], 0x69
mov byte [esp + 0x41e], 0x6e
mov byte [esp + 0x41f], al
bt esi, eax
mov byte [esp + 0x420], bl
mov byte [esp + 0x63c], 0x54
mov byte [esp + 0x63d], 0x56
mov byte [esp + 0x63e], 0x61
cmp esi, ebx
mov byte [esp + 0x63f], 0x6c
rcl si, 0x92
mov byte [esp + 0x640], 0x75
mov byte [esp + 0x641], al
mov byte [esp + 0x642], 0x43
mov byte [esp + 0x643], 0x68
and dl, 0x93
mov byte [esp + 0x644], 0x61
or esi, ebx
mov byte [esp + 0x645], 0x6e
bsr si, cx
mov byte [esp + 0x646], 0x67
mov byte [esp + 0x647], al
mov byte [esp + 0x648], 0x46
xadd dl, dl
mov dl, 0x8f
mov byte [esp + 0x649], cl
add esi, ebp
neg dl
mov byte [esp + 0x64a], 0x72
test eax, 0x3601c83e
mov byte [esp + 0x64b], 0x6d
mov dl, 0xa6
mov byte [esp + 0x64c], bl
dec dl
mov esi, edx
xchg dl, dl
mov byte [esp + 0x4f8], 0x72
mov byte [esp + 0x4f9], 0x61
mov byte [esp + 0x4fa], 0x70
neg dl
sal dl, 0x95
mov byte [esp + 0x4fb], 0x68
mov byte [esp + 0x4fc], 0x20
xor dl, al
mov byte [esp + 0x4fd], 0x2d
cmp ebx, 0x14284c31
mov byte [esp + 0x4fe], 0x20
mov byte [esp + 0x4ff], 0x5b
clc
mov byte [esp + 0x500], bl
sbb esi, eax
mov byte [esp + 0x444], 0x2e
mov byte [esp + 0x445], 0x53
mov byte [esp + 0x446], 0x50
mov byte [esp + 0x447], 0x4b
ror esi, 0x27
cmp esp, 0x2914e62c
mov byte [esp + 0x448], 0x58
not dl
xor esi, 0x8f90829e
mov byte [esp + 0x449], 0x5d
jmp 0x562b02
mov word [esp + 0x85e], si
mov esi, 0x20
test ebp, 0x24ba31a7
jmp 0x5ef68c
mov word [esp + 0x860], si
mov esi, 0x30
cmp al, dh
test di, dx
mov word [esp + 0x862], si
mov word [esp + 0x864], si
and esi, ebx
mov esi, 0x20
stc
mov word [esp + 0x866], si
movsx esi, bx
sar si, 0x95
mov esi, 0x36
test bp, si
mov word [esp + 0x868], si
shl esi, 0x18
mov esi, 0x46
test si, dx
stc
mov word [esp + 0x86a], si
mov esi, 0x20
cmp dx, 0xf810
test si, 0x13af
mov word [esp + 0x86c], si
mov esi, 0x30
cmp bp, 0x5482
jmp loc.0042a3b6
push eax
push ecx
xchg ah, ah
cwde
mov eax, 0x1424
call fcn.00474d50
mov eax, dword [0x520628]
cmp esi, esp
xor eax, esp
mov dword [esp + 0x1420], eax
push ebx
push esi
push edi
btr esi, 0x81
test eax, 0x52bef4ac
mov eax, dword [0x520628]
xor eax, esp
push eax
lea eax, [esp + 0x1438]
mov dword fs:[0], eax
sub ebx, ebx
mov cl, 0x6f
mov al, 0x6a
test esp, ebp
mov byte [esp + 0x38f], al
mov byte [esp + 0x4d6], al
mov byte [esp + 0x496], al
mov al, 0x65
mov byte [esp + 0x38c], 0x5f
shl dl, cl
mov byte [esp + 0x38d], cl
mov byte [esp + 0x38e], 0x62
and dl, 0x3a
shr si, 0x2b
mov byte [esp + 0x390], bl
clc
mov byte [esp + 0x4d4], cl
clc
mov byte [esp + 0x4d5], 0x62
cmp ebx, esi
jmp 0x5c9433
mov byte [esp + 0x3c4], 0x64
mov esi, ebx
btr esi, esi
mov byte [esp + 0x3c5], al
cmc
dec esi
rol si, 0x97
mov byte [esp + 0x3c6], 0x72
bsr si, si
mov byte [esp + 0x3c7], 0x52
mov byte [esp + 0x3c8], 0x54
stc
cmovb esi, ebp
sbb si, cx
mov byte [esp + 0x3c9], 0x36
sub esi, edi
mov byte [esp + 0x3ca], 0x4d
stc
cmc
rcr si, 0x16
mov byte [esp + 0x3cb], 0x61
not si
sbb esi, eax
mov byte [esp + 0x3cc], 0x69
btr si, 0xb
mov byte [esp + 0x3cd], 0x6e
cmp bp, dx
and si, sp
mov byte [esp + 0x3ce], bl
shrd si, di, 0xad
mov byte [esp + 0x49c], 0x54
btr esi, edx
mov byte [esp + 0x49d], 0x68
test dl, 0xaf
adc si, 0x8b2b
btc si, 0x2b
mov byte [esp + 0x49e], 0x75
bts si, dx
add esi, ebx
rol si, 0x99
mov byte [esp + 0x49f], 0x6e
or si, si
adc si, 0x9938
mov byte [esp + 0x4a0], 0x64
test bl, dl
mov byte [esp + 0x4a1], al
mov byte [esp + 0x4a2], 0x72
test di, 0x491e
mov byte [esp + 0x4a3], 0x52
or esi, 0xfa0bae17
mov byte [esp + 0x4a4], 0x54
bsr si, ax
or si, bx
mov byte [esp + 0x4a5], 0x36
mov si, 0x1629
bts si, sp
adc esi, ecx
mov byte [esp + 0x4a6], 0x46
btc si, bx
mov si, bx
cmp ebp, edi
mov byte [esp + 0x4a7], cl
rcr si, 9
mov byte [esp + 0x4a8], 0x72
add si, 0xf0b3
shld esi, ecx, 0x93
mov byte [esp + 0x4a9], 0x6d
cmc
shrd si, di, 0x96
mov byte [esp + 0x4aa], 0x44
sub esi, ebp
shr esi, 0x38
rcl si, 0x94
mov byte [esp + 0x4ab], 0x43
mov byte [esp + 0x4ac], bl
test ecx, ebx
mov byte [esp + 0x45c], 0x56
sal si, 0xa7
mov byte [esp + 0x45d], 0x42
mov byte [esp + 0x45e], 0x4d
and esi, 0xd41e6738
sar si, 0x25
mov byte [esp + 0x45f], dl
mov byte [esp + 0x460], cl
mov byte [esp + 0x461], 0x53
clc
jmp 0x673657
push ebp
mov ebp, esp
cmp bl, 0x38
add eax, esi
ror eax, cl
and esp, 0xfffffff8
push 0xffffffffffffffff
nop
push 0x4e5df8
lahf
mov eax, dword fs:[0]
jmp 0x631ea6
mov byte [esp + 0x462], 0x74
sbb esi, edi
cmc
mov byte [esp + 0x463], 0x64
mov byte [esp + 0x464], 0x43
or esi, 0x42f7d02
mov byte [esp + 0x465], cl
btc si, 0x17
sal esi, 0xb5
mov byte [esp + 0x466], 0x6d
clc
sal esi, 0x12
mov byte [esp + 0x467], 0x70
shr esi, 0x1f
sbb si, 0x7a11
mov byte [esp + 0x468], 0x4d
adc si, 0xbc34
mov byte [esp + 0x469], 0x67
bts si, bp
mov si, 0x6bb9
test bh, 0xab
mov byte [esp + 0x46a], 0x72
rol esi, 0x10
mov byte [esp + 0x46b], bl
shl si, 0x83
test ecx, ebx
movsx esi, ax
mov byte [esp + 0x358], 0x4c
mov byte [esp + 0x359], cl
mov byte [esp + 0x35a], 0x67
btr si, 0xbd
mov byte [esp + 0x35b], 0x69
xor si, ax
shld si, bp, 0x90
mov byte [esp + 0x35c], 0x6e
add esi, ecx
mov byte [esp + 0x35d], 0x32
test edx, esi
mov byte [esp + 0x35e], 0x37
xor esi, edx
stc
mov byte [esp + 0x35f], 0x30
movzx esi, dx
bt si, 0x38
mov byte [esp + 0x360], 0x2e
stc
mov byte [esp + 0x361], 0x44
mov byte [esp + 0x362], 0x4c
bts esi, ecx
mov byte [esp + 0x363], 0x4c
mov byte [esp + 0x364], bl
bts si, cx
shrd si, sp, 0x23
mov byte [esp + 0x34c], 0x48
mov si, 0x29a9
shld si, bx, 0x3d
mov byte [esp + 0x34d], al
shr esi, 0x84
add si, sp
mov byte [esp + 0x34e], 0x6c
shld esi, edx, 0x31
mov si, 0xb830
mov byte [esp + 0x34f], 0x70
test esi, ecx
btc si, 0xa4
cmovp esi, eax
mov byte [esp + 0x350], al
mov byte [esp + 0x351], 0x72
mov byte [esp + 0x352], 0x2e
movsx esi, sp
sub si, 0x4b95
mov si, 0x1a2
mov byte [esp + 0x353], 0x64
btr esi, 0x15
mov byte [esp + 0x354], 0x6c
bt esi, eax
mov byte [esp + 0x355], 0x6c
mov byte [esp + 0x356], bl
xadd si, si
bswap si
mov byte [esp + 0x2e4], dl
sub esi, 0xa1a0bf13
movsx esi, di
sar si, 0x12
mov byte [esp + 0x2e5], dl
bswap si
mov byte [esp + 0x2e6], 0x2e
clc
add esi, eax
mov byte [esp + 0x2e7], 0x6d
shr esi, 0xe
btc si, 0x1b
shl si, 0x92
mov byte [esp + 0x2e8], 0x70
sar si, 0x22
mov byte [esp + 0x2e9], 0x33
movzx esi, dx
sar esi, 0x21
mov byte [esp + 0x2ea], bl
bswap esi
mov byte [esp + 0x314], 0x70
cmc
mov byte [esp + 0x315], dl
xor esi, esp
neg si
mov byte [esp + 0x316], 0x64
btr esi, esi
rcr esi, 0xa4
mov byte [esp + 0x317], 0x2e
ror esi, 0x83
adc esi, ebp
add si, 0xd4ad
mov byte [esp + 0x318], 0x64
cmovp esi, eax
mov byte [esp + 0x319], 0x6c
mov byte [esp + 0x31a], 0x6c
cmp edi, 0x389b75a4
mov byte [esp + 0x31b], bl
mov byte [esp + 0x304], 0x4f
mov byte [esp + 0x305], 0x43
btr si, bx
movzx esi, sp
mov byte [esp + 0x306], 0x52
clc
mov byte [esp + 0x307], 0x2e
mov byte [esp + 0x308], 0x64
bt esi, 0x1c
mov byte [esp + 0x309], 0x6c
mov byte [esp + 0x30a], 0x6c
mov byte [esp + 0x30b], bl
and esi, ecx
mov byte [esp + 0x2dc], dl
sal esi, 0xb6
mov byte [esp + 0x2dd], dl
shld esi, edx, 0x93
btc esi, edx
stc
mov byte [esp + 0x2de], 0x2e
mov byte [esp + 0x2df], 0x64
movsx esi, ax
inc si
mov byte [esp + 0x2e0], 0x6c
and si, 0xe231
not esi
bsr esi, edx
mov byte [esp + 0x2e1], 0x6c
sbb esi, ebp
cmovl esi, ebp
mov byte [esp + 0x2e2], bl
mov byte [esp + 0x3b0], 0x6d
adc esi, 0xaeb02613
xor si, bx
mov byte [esp + 0x3b1], 0x61
sar si, 0x18
mov byte [esp + 0x3b2], 0x70
cmovl esi, ecx
mov byte [esp + 0x3b3], dl
bsf si, di
rcr esi, 0x80
mov byte [esp + 0x3b4], 0x5c
shl esi, 2
mov esi, 0x35
stc
mov word [esp + 0x85c], si
neg esi
sub esi, ebx
mov esi, 0x30
jmp 0x5e20a9