Function at 0xd901f9
Capabilities:
Encode data using base64
Parse pe header

Disassembly:
mov ecx, dword [edx]
sub edi, 4
shl eax, 0xe6
mov dword [edi], ecx
jne fcn.007355cd
or ax, cx
mov word [edi + eax - 0x740bfffc], dx
movsx edx, cl
call fcn.009d6534
sub eax, 0x6e1c3bab
call fcn.009b3248
xor bl, cl
xchg dx, ax
btc eax, eax
jae 0xd7cb02
btc edx, edx
neg al
shr edx, 0x14
btr edx, 0x90
ror al, 1
sub dx, 0xfb90
xor edx, 0x9cb0ef32
neg al
bswap edx
xor bl, al
lea eax, [esp + eax + 4]
btr edx, edx
jb 0x8d7378
mov dword [eax + edx - 0x42ebb09c], ecx
mov dword [esp + edx - 0x42ebb09c], edi
ret
shrd dx, ax, cl
mov word [ebp], dx
push 0xea0923b3
pop ecx
pop ecx
pop edx
pop eax
jmp edi
jmp 0x73b29c
or dx, cx
xor ebx, eax
inc edx
add edi, eax
movzx edx, byte [esi + edx*2 - 0x6c5c0000]
movzx eax, cl
and ecx, ecx
lea esi, [esi + eax*2 - 0x13d]
sbb ecx, ecx
xor dl, bl
rol dl, 1
and ax, 0x6cb3
call fcn.00739f11
push 0xf4138ca4
mul ecx
mov ecx, 0x828fd40d
sar ecx, 0xf6
mov dword [esi], edx
movsx edx, byte [esp]
mov dword [esi + 4], eax
inc ecx
shr byte [esp + 2], 0x65
sbb ebp, 3
lea eax, [ecx*2 + 0x73315f02]
mov ecx, dword [ebp + eax - 0x73315b18]
shr byte [esp + eax - 0x73315b16], 0x21
rol eax, 0xed
xor ecx, ebx
xor eax, edx
inc ecx
rol dx, 0x6b
sal edx, 0x54
cwd
bswap ecx
not ecx
rol dl, 5
call fcn.00d4b2e2
mov ecx, 0x208a8c04
call fcn.00d2e73e
sub ebp, 4
mov edx, 0xc192931b
rol edx, 0xbb
lea ecx, [edx + edx*2 + 0x49ba0b9e]
mov eax, dword [ebp]
shr edx, cl
sbb cx, dx
btr edx, ecx
xor eax, ebx
and ecx, 0x1d92c42f
or edx, ecx
and edx, 0xe5b01ea5
sbb eax, 0xbe06b1ac
xor eax, 0x29b3d9bd
xor cl, 0x3b
xor cl, dl
dec eax
sub dl, dl
xor eax, 0xb98aed82
call fcn.00d115cf
lea ecx, [ecx + eax - 0x7086636d]
not ecx
neg ecx
rol dword [esp + 0x10], 0x37
rol ax, 0x6a
shl byte [esp + 4], 0x64
bswap ecx
lea edx, [eax + eax*2 + 0x98413f]
inc word [esp + 0xc]
xor ebx, ecx
sar edx, 0x4f
setns al
rol edx, 0xb8
adc edi, ecx
cwd
pop ecx
pop eax
pop eax
pop edx
pop edx
jmp edi
je 0xd06292
call fcn.00a01517
inc ecx
mov ebx, 0xaeab19a5
dec edi
lea ebp, [ebx + ebx*4 + 0x158c310f]
inc ecx
movzx edx, bp
dec eax
lea esi, [esi + edx - 0xb14c]
dec esp
xor ebx, edx
setle dl
dec ebx
lea ebx, [ebx + ebp*4 - 0x2243ef6c]
mov edx, dword [esi + edx*4 - 0x2c400]
inc ecx
mov eax, 0x3bb89b84
inc ecx
movzx ecx, al
inc ecx
xor edx, esi
push ecx
xor edx, 0x1b9d91a0
inc edx
dec eax
lea ebp, [ecx + ecx*4 + 0x7881d03a]
call fcn.007e9e79
dec esp
xadd edx, edx
inc ecx
pop esi
bt ecx, ecx
inc ecx
mov ecx, 0x672c0309
dec eax
arpl ax, ax
inc ecx
sar ebp, 0xb9
inc cx
inc esp
call fcn.0087301d
dec eax
neg eax
dec ebx
lea edx, [esp + ecx*8 + 0x4bbf5a6]
bswap eax
inc ecx
or ebx, edx
ror eax, 1
dec eax
lea ebp, [edx*8 - 0x2b77e2c1]
lea eax, [ecx + eax - 0x3e3b168d]
not bp
dec eax
bts edx, 0xad
btr ecx, ebx
rol eax, 1
inc cx
dec ecx
jno 0x9b3059
mov ecx, 0x9980d421
sub esi, 1
movzx eax, byte [esi]
push ecx
pop ecx
movsx edx, cx
xor al, bl
sub cx, 0xf03f
sal ecx, cl
not al
btr dx, dx
push ecx
neg al
or edx, dword [esp + ecx - 0x66038f88]
xchg ecx, edx
not al
bt edx, 0x2b
dec byte [esp + edx - 0x66038f88]
rol al, 1
btc dx, 0x9a
xor al, 6
and edx, dword [esp + edx - 0x66038b88]
pop edx
not al
xor al, 0x9b
xor bl, al
ror ecx, 0xf5
add eax, esp
ror cl, 0xa7
btc edx, ecx
add cx, cx
movzx cx, byte [eax]
ror edx, 0x7d
lea ebp, [ebp + edx - 0x301c7c41]
rol edx, 0xcc
mov word [ebp], cx
push edx
movsx eax, dl
call fcn.008a2060
jmp 0xd16629
sar eax, 0xb3
ror ecx, 1
bswap ecx
btc eax, edx
dec ecx
cdq
xor ebx, ecx
bt eax, 0x1b
bts edx, eax
adc ax, ax
adc edi, ecx
lea ecx, [eax + eax*4 - 0x5d6e23e1]
add dl, byte [ebp + eax - 0xf64]
mov cl, byte [ebp + eax*8 - 0x7b1e]
lea ebp, [ebp + eax*8 - 0x7b1e]
bts eax, 0xb2
jb 0x88fa68
sal dl, cl
mov word [ebp + eax*8 - 0x207b20], dx
movsx edx, ax
cdq
xor edx, edi
jmp edx
cdq
dec edx
lea ebp, [ebp + eax - 0x7f330022]
movzx edx, byte [eax + ebp - 0x7f330021]
mov ecx, 0x6910118b
dec cx
shl al, 0x43
xor dl, bl
ror dl, 1
rol cx, cl
xor dl, 0x99
or cl, 0xae
btr ecx, ecx
sbb dl, 0x2c
shl ecx, cl
adc eax, eax
lea ecx, [eax + ecx*8 - 0x6c412de2]
rol dl, 1
sub dl, 3
shl cx, cl
xor bl, dl
xadd eax, ecx
add al, ah
adc edx, esp
jmp 0x7f8fa0
pop ecx
jp fcn.0081f8e9
neg edx
ror cl, 1
add cl, 0x91
sal edx, 0xd8
mov dword [esp + eax - 0x6b182e81], edx
rol eax, 0xf3
ror cl, 1
inc edx
jns 0x7a356b
inc edx
jno 0x7c2161
lea ecx, [edx + ecx - 0x4905124f]
call fcn.00d0631c
mov eax, 0x4122b0a1
mov eax, dword [eax + ebp - 0x4122b0a1]
mov edx, 0xb29ff3a8
mov edx, dword [ebp + 4]
mov ecx, 0xb1f141a
shl ecx, 0x7a
adc cl, byte [ebp + ecx - 0x67fffff8]
call fcn.007c6860
mov ecx, 0xa58822ba
mov eax, dword [ebp]
ror cx, 0xe2
mov edx, 0xd814e325
mov edx, dword [ebp + 4]
adc ebp, 7
mov dword ss:[eax], edx
sub esi, 4
movsx edx, cx
mov edx, dword [esi]
jmp 0xd4a9f6
rol edx, 1
lea edx, [edx + ecx*4 - 0x4dba95d6]
xor eax, ecx
bswap edx
not cx
xor ebx, edx
btc eax, 0xbe
adc ebp, edx
lea ecx, [ecx*8 - 0x7fe8bdc6]
push ecx
mov ecx, dword [esi + ecx - 0x6ff36842]
movsx edx, al
bts dx, ax
mov edx, dword [esi + edx*2 - 0xe4]
shr word [esp + 1], 1
adc esi, 4
btr eax, 0x34
inc dword [esp]
pop eax
not ecx
jb 0xd01cc8
dec ecx
lea ecx, [ecx + 0x4294e0a8]
dec esp
mov dword [esp + ebp + 8], esi
dec eax
cwde
inc esp
xor dword [esp + ebp*4 + 8], ebp
dec esp
mov esi, dword [esp + ebp + 8]
rol byte [esp + ebp + 2], 0x43
dec ebp
arpl bp, bp
sbb edx, dword [esp + ebp*2 + 1]
jno 0xd291c3
jb 0x9aded1
bts cx, cx
mov word [esi + ecx - 0x32770001], ax
movsx eax, cl
or dx, ax
cdq
lea ebp, [ebp + edx - 4]
cmovae ecx, eax
btc eax, edx
mov ecx, dword [ebp + ecx - 1]
xor ecx, ebx
and edx, eax
neg ecx
lea ecx, [ecx + eax + 0x3e3ce916]
rol ecx, 2
cwde
inc dx
call fcn.007f18be
sub esi, 4
mov eax, 0xafa82abf
mov ecx, dword [esi]
ror al, 0xe6
cwde
mov edx, 0x14bdb218
xor ecx, ebx
shl dx, 0xc2
adc dx, dx
sbb eax, edx
not ecx
bswap eax
lea ecx, [ecx + eax*4 - 0x29c0e3f6]
jbe 0x89e65b
dec al
inc ebp
movzx eax, dl
inc cx
bt ecx, 0x37
inc edx
ror al, 1
inc cx
dec eax
neg bp
inc cx
shl eax, 0x45
neg al
dec ecx
lea ecx, [ecx + 0x6e1e4a17]
inc eax
sub ch, dl
xor al, 0x27
inc ecx
mov ebx, 0xa481e13b
inc cx
bt ebx, 0x9d
neg al
inc ecx
dec bl
inc esp
movzx esp, cl
ror al, 1
inc cx
bt ecx, ebx
dec eax
xchg ebx, ecx
inc ecx
shl ch, 0xa5
dec al
btr cx, 0x84
dec esp
lea ebx, [ebp + ebx*2 + 0x74834914]
rol al, 1
inc ecx
dec eax
dec eax
xor ecx, 0x7c90b813
xor al, 0x97
sub ebx, ebx
inc esp
xor dh, al
inc ebp
btc ecx, eax
dec eax
add eax, esp
inc sp
mov ecx, dword [eax + ebp*2 - 0x10776]
dec eax
ror ebx, cl
dec eax
lea edi, [ebp + edi - 0x83bd]
shr cl, 0x81
inc ecx
sub ch, 0x91
inc ecx
movzx eax, bx
inc sp
mov dword [edi + ebp - 0x83bb], ecx
inc ebp
sub edx, esp
dec eax
sal ebx, 0xc4
dec eax
lea esi, [ebp + esi - 0x83bf]
inc esp
mov eax, dword [esi + ebp*4 - 0x20eec]
inc ebp
xor eax, esi
dec ecx
xchg edx, edx
dec eax
xor edx, 0x5c9bdd1c
inc esi
lea eax, [ebp + eax + 0x3402a0cb]
inc ecx
bswap eax
dec eax
shl ebp, 0x3c
inc ecx
sbb eax, 0xba8733b0
rol bp, cl
call fcn.00901c4f
xor bl, dl
xor ecx, ecx
adc edx, esp
btr eax, ecx
bts eax, ecx
mov eax, dword [ecx + edx]
movsx edx, cx
xchg dx, cx
lea ebp, [ebp + ecx - 4]
mov dword [ecx + ebp], eax
movzx eax, cx
shl eax, 0x88
je fcn.009fc29f
inc ecx
pop edx
pop edx
jne fcn.00d15188
not edx
sub ecx, eax
lea edx, [edx + ecx - 0x4bd3f207]
not edx
adc edx, eax
dec eax
call fcn.00847ff9
mov cl, byte [edi + 2]
adc edi, 2
inc dx
not dx
shr ax, cl
mov word [edi], ax
shr edx, 0x2f
sub dx, dx
jmp ebp
mov edx, 0xb9a3b5a2
movsx eax, dl
btc edx, edx
not ecx
mov dword [edi], ecx
jmp esi
inc ecx
push esi
inc esp
add bl, cl
xor dword [esp + ecx*2 - 0x970a], eax
inc ecx
pop esi
inc ecx
sal dl, cl
dec eax
arpl ax, ax
rol edx, cl
dec ebp
sbb edx, esp
dec esp
add edi, eax
dec eax
lea ebp, [ecx + 0x73290687]
inc ecx
sar ebx, 0xff
call fcn.00cf3d48
jmp 0x7f0e56
shl ecx, 0x42
mov dword ss:[eax], edx
jmp edi
not edx
not eax
and ecx, edx
cdq
mov dword [esi], ecx
not eax
movzx ecx, al
jmp ebp
lea esp, [esp + 0xc]
je 0x97ac0a
push edi
movzx edi, byte [eax]
call fcn.009a0c5e
dec eax
mov dword [esp + ebp + 8], ecx
dec ebp
adc edi, ebp
dec ecx
add ecx, 0x9bb4da9d
jno 0x8ed77e
shr ax, 6
xor ecx, ebx
neg word [esp + 1]
ror ecx, 3
add al, dl
and edx, 0xf2b62a0c
bswap ecx
neg ecx
ror ecx, 3
add ecx, 0x3c3a429d
and eax, dword [esp]
xor ecx, 0xe71c6bac
pop eax
not dl
xor ebx, ecx
neg eax
add edi, ecx
movzx ecx, dl
shr ecx, cl
sbb cx, ax
adc ecx, ebp
lea ebp, [ebp + eax - 0x40a70004]
not eax
btr edx, eax
jae 0xda9683
mov dword [ebp + edx - 0x72b62af3], ecx
xadd edx, eax
jne fcn.00860e79
movzx eax, cx
neg edx
jmp 0xd8f127
movsx eax, cl
xor edx, ebx
sar al, 0xe6
jbe 0x92c3bd
sbb edx, edx
shr edx, 0xc7
xor ebx, ecx
bts eax, 0xa5
adc esi, ecx
jmp 0x8ba83c
lea ecx, [esp + ecx + 8]
movzx dx, byte [edx + ecx - 0x58c1]
not ax
lea ecx, [eax*8 + 0x2139d338]
lea edi, [eax + edi - 0x740bfffe]
jae 0x790cb8
mov ecx, 0x490f4e82
lea edx, [ecx + 0x5302ff26]
push edx
lea esi, [ecx + esi - 0x490f4e86]
movsx eax, dx
mov ecx, dword [esi + eax*2 - 0x9b50]
neg ax
js 0xd89b7b
sub eax, 0x865ab14
cmp eax, 0x2f65abbd
das
jp 0xd7cb19
pop edx
mov edx, 0xda509ca7
inc ebp
inc ebp
pop ecx
loopne 0xd7cbb9
lcall 0x5317, 0x5a462774
add esi, dword [ebx - 0x78]
test esp, eax
invalid
push edi
mov dl, 0x1e
ficomp dword [edx + 0x6f]
aas
pop ss
aam 0x5a
mov al, 0x45
adc edi, esp
test eax, 0x4496a5c6
inc esp
jns 0xd7cba7
push 0xb03d676d
out 0x15, eax
imul edi, dword [ebp + 0x5a], 0xf580bf21
ror bl, cl
pop ds
dec ebp
or byte [ebp + 0x7f], ah
add byte [edi], ah
mov ecx, 0x9b647251
add eax, 0xc4bfd30b
std
sbb byte [esi + 0x2b], cl
xchg edi, eax
adc eax, 0x7f46e234
invalid
xor ecx, ebx
xchg dx, ax
ror ecx, 1
xadd byte [esp + eax*4 - 0x1369f], dl
neg dx
lea ecx, [ecx + edx - 0x3dde932f]
xchg dword [esp + eax - 0x4da8], edx
rol ecx, 2
bswap edx
not ecx
shl ax, 0xc4
sbb dword [esp + eax - 0xda80], eax
bswap ecx
call fcn.009fc0eb
xadd ax, cx
rol edx, 1
xadd ecx, eax
inc edx
call fcn.007c65ce
dec esi
mov dword [edi + ebx - 0x1588c263], edx
not dword [esp + ebx - 0x4f23f7a4]
pop ebp
inc ecx
pop ebp
jmp fcn.00d15188
inc ecx
push ecx
call fcn.008f07c5
bswap eax
xor ecx, eax
sbb edx, 0x65af7229
sub ecx, 0x70a65209
not edx
sub ecx, 0x9f39faa1
jnp 0x8e3a75
sysenter
call fcn.00751695
lea eax, [eax + ecx*2 + 0x58d8d8c2]
rol edx, 0x3f
not eax
sbb eax, 0x94967335
sar dl, 0x65
shl edx, 0x1e
rol eax, 1
lea edx, [edx + edx*4 + 0x2a3d560a]
xor eax, 0x4c0170b5
not ecx
btc dx, cx
dec eax
xor ebx, eax
btr edx, edx
adc edi, eax
xadd cx, dx
sal ecx, 0xce
movsx eax, dx
mov eax, dword [ebp + ecx*2 - 0x5d6a8000]
mov edx, dword [ebp + ecx - 0x2eb53ffc]
lea ebp, [ecx + ebp - 0x2eb53ff8]
jnp 0x8dd9a2
jp 0x9fc241
mov ecx, 0xf9921582
sar ecx, cl
mov eax, ecx
sbb ebp, 3
mov ecx, dword [ebp]
shr al, 0xa4
xchg ah, al
movsx edx, ax
xor ecx, ebx
sub ecx, 0xf2a752bd
shr eax, 0xcb
cwde
not eax
bswap ecx
bswap eax
or dl, 0x35
bts ax, ax
lea ecx, [ecx + eax*2 - 0x4e49b947]
neg edx
not ecx
jne 0xd61b9f
mov edx, 0xc0003f0e
mov ecx, dword [esi]
push edx
movzx ax, byte [ecx]
add esi, 2
lea edx, [edx + edx*2 + 0x28199380]
lea ecx, [edx + edx*8 - 0x395f0243]
bswap ecx
mov word [esi + edx - 0x681a50aa], ax
call fcn.00732531
mov ecx, 0xde09fd04
jmp fcn.009cac22
ja 0x7f9577
call fcn.00d79445
mov ecx, 0xe61b0505
sub ebp, 4
push ecx
lea eax, [ecx*4 + 0x2a100d9c]
movsx edx, cx
mov ecx, dword [ebp + edx*2 - 0xa0a]
push edx
xor ecx, ebx
add edx, dword [esp + edx*2 - 0xa06]
adc eax, 0x32ea10c
neg ecx
dec edx
ror ecx, 1
sar edx, 0xda
inc dl
xor ecx, 0x1133f0b0
shl ax, 0xcc
add dl, al
shr dl, 0xe6
dec ecx
add edx, eax
neg ecx
lea eax, [eax*8 + 0x498db31c]
inc dword [esp + eax - 0x76e3b318]
xor ebx, ecx
bt eax, eax
ror eax, 0xe3
lea eax, [eax + edx*8 + 0xc109cb9]
add edi, ecx
not dx
mov ecx, dword [esi]
sar dx, 0x8d
adc esi, 4
sub ebp, 1
sub eax, 0x2133d417
movzx eax, byte [ebp]
xadd word [esp + 6], dx
ror edx, 0x47
xor al, bl
pop edx
inc edx
ror byte [esp + edx - 0x506], 0xa7
sbb al, 0x33
rol word [esp + edx*2 - 0xa0b], 0x83
adc dword [esp + edx - 0x506], 0xa1e94bd
not al
setne dl
jno 0x7d3a84
push esp
cmc
cmc
invalid
push 0xffffffffffffff87
test al, 0x54
cmp bh, byte [eax]
daa
push edi
lcall 0x65a7, 0x24644931
mov eax, dword [ebx - 0x20ba45df]
push ebp
pop es
inc ecx
cmp al, byte [esi]
dec edx
mov eax, 0x27d674c0
loope 0xda9731
pushal
dec ecx
js 0xda977c
push esi
invalid
cmpsb byte [esi], byte es:[edi]
aaa
add eax, 0x444a2e9f
nop
invalid