Function at 0x5a3d83
Capabilities:
Authenticate hmac
Encode data using base64
Execute anti-debugging instructions
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
lahf
mov ah, 0x2e
push 0xffffffffffffffff
jmp 0x835d0d
mov byte [esp + 0x4a4], 0x54
cmp bx, ax
cmc
mov byte [esp + 0x4a5], 0x36
mov byte [esp + 0x4a6], 0x46
mov byte [esp + 0x4a7], cl
ror si, 0x9a
movsx esi, si
mov byte [esp + 0x4a8], 0x72
mov byte [esp + 0x4a9], 0x6d
movsx esi, bx
sub si, 0x5b03
mov byte [esp + 0x4aa], 0x44
mov byte [esp + 0x4ab], 0x43
btr si, dx
btc esi, 0x6c
or esi, edx
mov byte [esp + 0x4ac], bl
rol si, 0xe3
mov byte [esp + 0x45c], 0x56
adc esi, esi
cmovg esi, ebp
mov byte [esp + 0x45d], 0x42
mov byte [esp + 0x45e], 0x4d
jmp 0x84ddc6
mov word [esp + 0x87a], si
mov word [esp + 0x87c], si
sar esi, 0x1b
bswap si
xor esi, 0x330a7f00
mov esi, 0x20
test esi, 0x76472a4
test cx, cx
cmc
mov word [esp + 0x87e], si
mov esi, 0x36
cmc
jmp 0x7d0c3a
mov byte [esp + 0x415], 0x68
mov byte [esp + 0x416], al
sal dl, 0x82
mov byte [esp + 0x417], 0x61
or si, di
mov byte [esp + 0x418], 0x74
neg esi
mov byte [esp + 0x419], 0x20
mov esi, 0x6c808e3
cmp ah, 9
mov byte [esp + 0x41a], 0x45
jmp 0x762f9f
mov byte [esp + 0x3b8], 0x38
test eax, 0x54bc15af
mov byte [esp + 0x3b9], 0x34
cmp ax, 0x4cf5
jmp 0x862588
mov byte [esp + 0x41b], 0x6e
mov byte [esp + 0x41c], 0x67
mov byte [esp + 0x41d], 0x69
test esi, 0x8b87930
mov byte [esp + 0x41e], 0x6e
mov byte [esp + 0x41f], al
sub esi, 0x6e2122f9
mov byte [esp + 0x420], bl
mov byte [esp + 0x63c], 0x54
cmp bh, 0x27
shr esi, 0x72
mov byte [esp + 0x63d], 0x56
mov byte [esp + 0x63e], 0x61
mov byte [esp + 0x63f], 0x6c
mov byte [esp + 0x640], 0x75
clc
xor si, 0x41f8
bt si, dx
mov byte [esp + 0x641], al
mov byte [esp + 0x642], 0x43
mov byte [esp + 0x643], 0x68
sar esi, 9
bts esi, edx
mov byte [esp + 0x644], 0x61
and esi, esi
mov byte [esp + 0x645], 0x6e
test edx, 0x33f31b94
mov byte [esp + 0x646], 0x67
mov byte [esp + 0x647], al
mov byte [esp + 0x648], 0x46
mov byte [esp + 0x649], cl
mov byte [esp + 0x64a], 0x72
shr dl, cl
shr si, 0x8f
mov byte [esp + 0x64b], 0x6d
mov byte [esp + 0x64c], bl
and esi, eax
mov byte [esp + 0x4f8], 0x72
mov byte [esp + 0x4f9], 0x61
test ecx, 0x45bd4607
mov byte [esp + 0x4fa], 0x70
sbb si, dx
bswap esi
mov byte [esp + 0x4fb], 0x68
test dh, ch
mov byte [esp + 0x4fc], 0x20
sal esi, 0x75
mov byte [esp + 0x4fd], 0x2d
mov byte [esp + 0x4fe], 0x20
test edi, esp
inc dl
xor si, sp
mov byte [esp + 0x4ff], 0x5b
mov byte [esp + 0x500], bl
ror esi, 0x17
mov byte [esp + 0x444], 0x2e
rol dl, cl
neg dl
mov byte [esp + 0x445], 0x53
mov byte [esp + 0x446], 0x50
mov byte [esp + 0x447], 0x4b
test eax, esp
inc dl
rcl esi, 0x3d
mov byte [esp + 0x448], 0x58
mov byte [esp + 0x449], 0x5d
sar dl, 0x2e
mov byte [esp + 0x44a], bl
mov byte [esp + 0x4b0], 0x5b
add si, 0x2d8e
bts esi, eax
mov byte [esp + 0x4b1], cl
mov dl, 0x73
sub si, bp
bts esi, edx
mov byte [esp + 0x4b2], 0x6e
mov byte [esp + 0x4b3], 0x68
rcr si, 0xb0
rol si, 0xc4
shld esi, ebx, 0x7d
mov byte [esp + 0x4b4], cl
ror esi, 0xc4
mov byte [esp + 0x4b5], cl
mov byte [esp + 0x4b6], 0x6b
shrd si, si, 0xea
cmp si, 0x2bdf
mov byte [esp + 0x4b7], 0x2e
mov byte [esp + 0x4b8], bl
bts esi, ecx
mov byte [esp + 0x3dc], 0x2e
cmp si, di
bsr si, sp
mov byte [esp + 0x3dd], dl
bts esi, edi
mov byte [esp + 0x3de], al
mov byte [esp + 0x3df], 0x72
xadd si, si
mov byte [esp + 0x3e0], 0x5d
or si, ax
cmovnp si, cx
add esi, 0x7179041b
mov byte [esp + 0x3e1], bl
bsr esi, eax
mov byte [esp + 0x33c], 0x23
mov byte [esp + 0x33d], 0x33
mov byte [esp + 0x33e], 0x32
rcr si, 0xdc
mov byte [esp + 0x33f], 0x37
adc si, si
mov byte [esp + 0x340], 0x37
mov byte [esp + 0x341], 0x30
xadd si, si
shr si, 0x2a
mov byte [esp + 0x342], bl
mov byte [esp + 0x394], 0x43
mov byte [esp + 0x395], cl
movsx esi, bp
mov byte [esp + 0x396], 0x6d
mov byte [esp + 0x397], 0x62
or si, bx
mov byte [esp + 0x398], cl
or si, 0x1e2f
mov byte [esp + 0x399], 0x4c
and si, 0x3744
mov byte [esp + 0x39a], 0x42
mov byte [esp + 0x39b], cl
cmp esi, 0x2c3d4130
mov esi, 0x1cc964ff
mov byte [esp + 0x39c], 0x78
shld esi, esi, 0x5a
bsr esi, esi
mov byte [esp + 0x39d], bl
ror esi, 0xfd
mov byte [esp + 0x4bc], 0x70
cmc
not esi
or esi, 0x3c75074f
mov byte [esp + 0x4bd], 0x63
mov byte [esp + 0x4be], 0x68
sub si, dx
mov byte [esp + 0x4bf], 0x75
mov byte [esp + 0x4c0], 0x6e
cmc
test sp, si
mov byte [esp + 0x4c1], 0x74
cmp bp, 0x2bb8
btc si, 0x90
mov byte [esp + 0x4c2], al
cmp di, 0x43d8
mov byte [esp + 0x4c3], 0x72
sub si, 0x476d
mov byte [esp + 0x4c4], bl
adc si, 0x56e6
xor esi, 0x4c3a1104
mov byte [esp + 0x4ec], 0x50
sbb si, cx
sbb si, 0x2e27
mov byte [esp + 0x4ed], 0x43
mov byte [esp + 0x4ee], 0x48
sub esi, 0x7c4a54b6
mov byte [esp + 0x4ef], 0x75
mov byte [esp + 0x4f0], 0x6e
xchg si, si
mov esi, ecx
mov byte [esp + 0x4f1], 0x74
mov byte [esp + 0x4f2], al
xor esi, 0x35702a3f
neg esi
mov byte [esp + 0x4f3], 0x72
inc esi
mov byte [esp + 0x4f4], bl
mov byte [esp + 0x40c], 0x54
inc esi
btr esi, 0xf8
mov byte [esp + 0x40d], al
movzx esi, bp
shrd esi, ebp, 0x7d
rcr si, 0x84
mov byte [esp + 0x40e], dl
mov byte [esp + 0x40f], 0x6c
mov byte [esp + 0x410], 0x61
bt si, 0xb2
mov byte [esp + 0x411], bl
test edi, 0x2cff33dd
mov byte [esp + 0x3c0], 0x54
mov byte [esp + 0x3c1], 0x68
mov byte [esp + 0x3c2], 0x75
mov byte [esp + 0x3c3], 0x6e
adc si, 0x2a4b
mov byte [esp + 0x3c4], 0x64
mov byte [esp + 0x3c5], al
mov byte [esp + 0x3c6], 0x72
shrd esi, edi, 0x29
sbb esi, 0x250c2595
mov byte [esp + 0x3c7], 0x52
or esi, 0x57051179
sbb esi, 0x62604b41
mov byte [esp + 0x3c8], 0x54
mov byte [esp + 0x3c9], 0x36
movzx esi, sp
test esi, esi
bt esi, ecx
mov byte [esp + 0x3ca], 0x4d
mov byte [esp + 0x3cb], 0x61
mov byte [esp + 0x3cc], 0x69
neg si
mov byte [esp + 0x3cd], 0x6e
xor esi, edi
xchg si, si
mov byte [esp + 0x3ce], bl
add si, 0x3e5c
sbb si, ax
mov byte [esp + 0x49c], 0x54
xchg esi, esi
mov byte [esp + 0x49d], 0x68
test ah, 0x7d
sbb si, cx
xadd esi, esi
mov byte [esp + 0x49e], 0x75
sbb si, 0x5cd4
add esi, 0x422c5856
sbb esi, ecx
mov byte [esp + 0x49f], 0x6e
sbb si, 0x7ff8
mov byte [esp + 0x4a0], 0x64
rol esi, 0xcf
mov byte [esp + 0x4a1], al
mov byte [esp + 0x4a2], 0x72
add esi, edi
mov byte [esp + 0x4a3], 0x52
jmp 0x5a64d5
mov byte [esp + 0x3b7], 0x33
cmc
cmp di, 0xc62
jmp 0x74555b
mov byte [esp + 0x3bb], 0x74
cmc
test cx, si
mov byte [esp + 0x3bc], 0x78
mov byte [esp + 0x3bd], 0x74
cmc
cmp edi, 0x57465ca3
mov byte [esp + 0x3be], bl
cmp esi, 0x61da440f
mov byte [esp + 0x31c], 0x44
stc
mov byte [esp + 0x31d], al
cmp di, di
jmp loc.0042ff94
mov word [esp + 0x880], si
cmc
mov esi, 0x35
cmc
stc
mov word [esp + 0x882], si
bswap si
stc
mov esi, 0x20
mov byte [esp + 0x3b5], 0x31
test ebp, 0x756254d7
mov byte [esp + 0x3b6], 0x36
jmp 0x7bf014
push eax
xchg al, al
movzx eax, sp
push ecx
mov eax, 0x1424
call fcn.00474d50
mov eax, dword [0x520628]
stc
mov cl, dl
xor eax, esp
rol dl, 0xe4
mov dl, 0x6a
mov dword [esp + 0x1420], eax
or eax, edi
shr cl, cl
push ebx
cwde
dec eax
push esi
push edi
dec si
mov eax, dword [0x520628]
sbb cl, 0x89
shr cl, cl
xor eax, esp
push eax
lea eax, [esp + 0x1438]
mov dword fs:[0], eax
sar cl, cl
sub ebx, ebx
mov cl, 0x6f
bsr si, si
mov al, 0x6a
mov dl, 0x46
mov byte [esp + 0x38f], al
mov byte [esp + 0x4d6], al
sbb si, si
add si, bx
mov byte [esp + 0x496], al
sbb esi, ebx
mov al, 0x65
sar si, 0x3b
add dl, bl
mov byte [esp + 0x38c], 0x5f
not esi
mov byte [esp + 0x38d], cl
xchg si, si
mov byte [esp + 0x38e], 0x62
mov byte [esp + 0x390], bl
rol dl, 0x8b
mov byte [esp + 0x4d4], cl
neg si
stc
mov byte [esp + 0x4d5], 0x62
mov byte [esp + 0x4d7], 0x5f
mov byte [esp + 0x4d8], 0x66
mov byte [esp + 0x4d9], cl
sbb si, 0x630a
mov byte [esp + 0x4da], 0x72
mov byte [esp + 0x4db], 0x6d
mov byte [esp + 0x4dc], bl
mov byte [esp + 0x494], cl
rol dl, 0x3a
mov byte [esp + 0x495], 0x62
mov byte [esp + 0x497], 0x5f
sub dl, al
mov byte [esp + 0x498], 0x61
sal dl, cl
mov byte [esp + 0x499], 0x70
mov byte [esp + 0x49a], 0x70
mov byte [esp + 0x49b], bl
bswap si
rcr dl, 0x42
mov byte [esp + 0x44c], 0x57
jmp 0x885445
push 0x4e5df8
lahf
nop
mov eax, dword fs:[0]
jmp 0x832007
mov byte [esp + 0x2e1], 0x6c
mov byte [esp + 0x2e2], bl
add si, bx
bt esi, 0x67
mov byte [esp + 0x3b0], 0x6d
mov byte [esp + 0x3b1], 0x61
and esi, ecx
rcr si, 7
xadd si, si
mov byte [esp + 0x3b2], 0x70
and si, di
mov byte [esp + 0x3b3], dl
mov byte [esp + 0x3b4], 0x5c
mov esi, 0x35
mov word [esp + 0x85c], si
mov esi, 0x30
stc
cmp di, 0x4c23
mov word [esp + 0x85e], si
ror esi, 0xd5
mov si, bp
rol esi, 0x99
mov esi, 0x20
clc
mov word [esp + 0x860], si
cmovnp si, sp
stc
test ebp, 0x6c1e68fe
mov esi, 0x30
test esi, 0x57106447
mov word [esp + 0x862], si
test si, 0x6eca
mov word [esp + 0x864], si
xor si, cx
mov esi, 0x20
stc
cmc
cmp ax, 0x4b34
mov word [esp + 0x866], si
mov esi, 0x36
mov word [esp + 0x868], si
cmovle si, bx
bswap esi
xor esi, ebp
mov esi, 0x46
stc
mov word [esp + 0x86a], si
cmp di, bp
mov esi, 0x20
mov word [esp + 0x86c], si
bt si, bx
mov esi, 0x30
cmc
mov word [esp + 0x86e], si
clc
mov word [esp + 0x870], si
mov esi, 0x20
test edi, 0x2c1c08a1
mov word [esp + 0x872], si
mov esi, 0x37
clc
cmc
mov word [esp + 0x874], si
bts esi, esi
bt esi, ecx
mov esi, 0x33
cmp bx, bp
cmp dh, 0xc5
mov word [esp + 0x876], si
mov esi, 0x20
cmp di, di
cmp dl, 0xa2
mov word [esp + 0x878], si
btr si, dx
bts esi, ecx
mov esi, 0x30
clc
jmp 0x60a387
mov byte [esp + 0x45f], dl
sub esi, eax
btr esi, 0x42
btr esi, edi
mov byte [esp + 0x460], cl
movsx esi, di
sub si, bx
mov byte [esp + 0x461], 0x53
not esi
mov byte [esp + 0x462], 0x74
mov byte [esp + 0x463], 0x64
ror si, 0x71
xor esi, ebp
btc si, 0x5c
mov byte [esp + 0x464], 0x43
xor si, sp
mov byte [esp + 0x465], cl
mov byte [esp + 0x466], 0x6d
bts si, dx
mov byte [esp + 0x467], 0x70
bsf si, sp
sub esi, edx
cmp edi, edx
mov byte [esp + 0x468], 0x4d
mov byte [esp + 0x469], 0x67
rcr esi, 0x5d
btc esi, 0xb6
mov byte [esp + 0x46a], 0x72
test cl, 0x35
mov byte [esp + 0x46b], bl
shld esi, esp, 0x44
mov byte [esp + 0x358], 0x4c
cmp edx, 0x3c8e0061
mov byte [esp + 0x359], cl
bts si, di
mov byte [esp + 0x35a], 0x67
shld si, bx, 0x17
mov byte [esp + 0x35b], 0x69
adc si, 0x6fea
not esi
sal esi, 0xba
mov byte [esp + 0x35c], 0x6e
xchg si, si
mov byte [esp + 0x35d], 0x32
and esi, 0x1b54028a
sub si, 0x1d0b
xchg esi, esi
mov byte [esp + 0x35e], 0x37
bts esi, esi
mov byte [esp + 0x35f], 0x30
mov byte [esp + 0x360], 0x2e
bt esi, 0xc2
mov byte [esp + 0x361], 0x44
rcl esi, 2
test sp, bp
mov byte [esp + 0x362], 0x4c
btc si, ax
sub esi, ebp
mov byte [esp + 0x363], 0x4c
btc si, bp
mov byte [esp + 0x364], bl
bts esi, esi
add esi, ebx
or si, 0x4ab5
mov byte [esp + 0x34c], 0x48
sub esi, 0x4f174eb2
or si, 0x57aa
sbb si, 0x5e59
mov byte [esp + 0x34d], al
mov byte [esp + 0x34e], 0x6c
mov byte [esp + 0x34f], 0x70
dec si
stc
mov byte [esp + 0x350], al
btr si, 0x1b
jmp 0x897eca
mov byte [esp + 0x3ba], 0x2e
jmp 0x7c25ba
mov byte [esp + 0x44d], 0x69
mov byte [esp + 0x44e], 0x6e
not si
mov si, di
mov byte [esp + 0x44f], 0x64
setp dl
mov byte [esp + 0x450], cl
not si
sal dl, cl
mov byte [esp + 0x451], 0x77
cmp cl, 0x85
sbb dl, bl
rcr dl, 0xc5
mov byte [esp + 0x452], bl
mov byte [esp + 0x414], 0x43
setbe dl
jmp 0x71dc80
mov byte [esp + 0x351], 0x72
mov byte [esp + 0x352], 0x2e
cmove esi, eax
mov byte [esp + 0x353], 0x64
mov byte [esp + 0x354], 0x6c
mov byte [esp + 0x355], 0x6c
mov byte [esp + 0x356], bl
shr si, 0x78
mov byte [esp + 0x2e4], dl
test ax, dx
inc si
mov byte [esp + 0x2e5], dl
cmp si, 0xe84
mov byte [esp + 0x2e6], 0x2e
cmc
shld si, bp, 0x13
mov byte [esp + 0x2e7], 0x6d
test edi, 0x1e6f07c8
mov byte [esp + 0x2e8], 0x70
movsx esi, dx
mov byte [esp + 0x2e9], 0x33
shr esi, 0xc4
test bp, 0x3852
mov byte [esp + 0x2ea], bl
clc
mov byte [esp + 0x314], 0x70
mov byte [esp + 0x315], dl
adc si, bx
not esi
mov byte [esp + 0x316], 0x64
xor esi, eax
mov byte [esp + 0x317], 0x2e
rcr si, 0x1d
btc si, 0x85
sub si, ax
mov byte [esp + 0x318], 0x64
add esi, 0x1a1a2909
adc esi, 0x6db91e01
movsx esi, bx
mov byte [esp + 0x319], 0x6c
dec esi
cmc
not si
mov byte [esp + 0x31a], 0x6c
mov esi, 0x17941a80
clc
rol esi, 0x53
mov byte [esp + 0x31b], bl
sub si, 0x8f2
mov byte [esp + 0x304], 0x4f
mov byte [esp + 0x305], 0x43
and si, 0x292
sar si, 0x20
mov byte [esp + 0x306], 0x52
xadd esi, esi
shr esi, 0xeb
mov byte [esp + 0x307], 0x2e
cmp bl, dh
btr esi, esp
sal esi, 0x95
mov byte [esp + 0x308], 0x64
test dx, si
mov byte [esp + 0x309], 0x6c
neg esi
mov byte [esp + 0x30a], 0x6c
mov byte [esp + 0x30b], bl
mov byte [esp + 0x2dc], dl
sub esi, 0x2e732494
mov byte [esp + 0x2dd], dl
mov byte [esp + 0x2de], 0x2e
shr si, 0x45
mov byte [esp + 0x2df], 0x64
btc esi, esi
add si, bx
mov byte [esp + 0x2e0], 0x6c
jmp 0x83fe9f