Function at 0x100a46b9
Capabilities:
Encode data using xor
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
pushfd
test byte [0x100a46c9], 0xec
jne 0x100a46ca
pop esp
sbb ebp, dword [ebx + 0xa]
popfd
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
test esi, esi
pushfd
test byte [0x100a475c], 0x94
jne 0x100a475d
pminub mm7, mm7
push esi
fsub qword [ecx - 0x546950e9]
or edi, dword [ebp + 0xd]
cwde
neg byte [esi + 0x4b]
arpl word [esi], si
idiv dword [edx + edi*4]
cmp al, 0xba
push 0xb3144e62
fsubr qword [eax + 0x3964e3f1]
test byte [ebx - 0x74], 0x23
mov word [eax - 0x15], ss
shl byte [eax], 1
sub byte [edi + 0x6d], al
push ebp
dec ebx
leave
scasb al, byte es:[edi]
rcl ecx, 0xba
mov eax, dword [0x8da5e74f]
push eax
sbb eax, 0x5af33840
or al, 0xb2
stc
xor dh, cl
xor ebx, dword [eax]
sahf
out dx, eax
dec ebx
or edx, ebx
jb 0x100a46fd
mov esp, 0x943179bf
mov esi, 0xe7f2ceac
out 0xf3, eax
push eax
out 0xe7, eax
push eax
stc
and byte [esi], bh
sbb byte [eax], ch
push ebx
push edi
popal
pushfd
mov edx, 0x4d573f2f
scasb al, byte es:[edi]
jb 0x100a46ec
int3
popfd
jne 0x100a4a30
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.FindResource_Failed:__d_n
adc al, 0x10
call fcn.10041f44
pop ecx
pop ecx
pushfd
test byte [0x100a4795], 0x7a
jne 0x100a4896
jge 0x100a47a2
jl 0x100a476e
pop edx
int3
dec ecx
dec ebx
and dword [edx], edi
lea eax, [ecx + 4]
movsd dword es:[edi], dword [esi]
and eax, 0x921ae915
adc eax, 0x6e14fc69
lds ecx, [esi - 0x3d]
out 0x4e, eax
dec esi
nop
sbb eax, dword [esi + edx*2]
je 0x100a473f
sahf
and dword [eax + 0x11], ecx
and ebp, esp
xlatb
inc byte [ebx + 0x37]
mov dl, 0x33
lodsb al, byte [esi]
and al, 0x71
sbb byte [edi - 0x7c], ah
sal byte [eax + 0x4b], 1
inc ebp
xor edi, dword fs:[ecx - 0x4088f78d]
bound ebx, qword [ebp - 0x3b]
jbe 0x100a4813
mov edi, 0x26c55d62
jbe 0x100a4813
nop
jbe 0x100a478c
jno 0x100a47d3
push edi
push edi
sahf
cmc
cmpsb byte [esi], byte es:[edi]
mov ah, 0x31
mov ebp, edi
out dx, eax
push edi
mov dword [0xa36ef570], eax
insd dword es:[edi], dx
pop eax
sbb dh, ch
or dword ss:[eax], 0x2ea0ecb1
jnp 0x100a47c5
cld
adc eax, 0x3fe86009
adc dword ss:[ebp - 0x5fd11914], 0xffffff9a
rol byte [ebx - 0x302aa93a], 0xe1
out dx, al
push ecx
rol byte [ebx - 0x21], cl
out 0x77, al
mov bh, 0x47
sal byte [eax], 1
popfd
jo 0x100a47ef
rcl dword [edi + eax*4 + 0x4dfa1892], 0x88
push esp
salc
daa
test byte [ebp + edx + 0x46], dl
dec ecx
inc ebp
mov dl, 0x12
mov bh, 0x84
jecxz 0x100a4829
jmp dword [ebp - 0x41]
mov edi, 0xcdc72168
div dh
mov dl, 0x2f
nop
movsd dword es:[edi], dword [esi]
arpl word [ecx + 0x3f], dx
add eax, 0xa01b196a
dec edx
sbb byte gs:[esi], cl
fsubr qword [edi + 0x2c]
movsb byte es:[edi], byte [esi]
inc esi
xchg esi, eax
mov esi, ebx
cld
int1
cmp eax, edx
lahf
fst st(2)
cmp byte [edi - 0x10f62c1c], bl
dec edx
sub ebx, eax
mov eax, dword [0x1384bf8b]
movsb byte es:[edi], byte [esi]
or edx, ebp
mov ecx, 0xa0dfe80c
aaa
popal
dec edi
dec al
leave
adc ah, 0x77
ror dword [esi], 1
mov al, 0x3b
sbb ah, byte [eax]
aam 0x56
sbb bl, bl
fld qword [ebx - 0x19]
and eax, 0x8ca9dfc3
into
stc
jl 0x100a48b8
push ecx
dec edi
pop edx
leave
das
xchg ebp, eax
out dx, eax
sbb byte [ecx + 0x4b], al
inc edi
dec esi
cld
out 0x87, eax
popfd
xor eax, eax
pushfd
test byte [0x100a48df], 0x5e
jne 0x100a48e0
test dword [0x3b6d3cb2], 0x8dbb0341
push ds
xchg esi, eax
push es
jl 0x100a4888
adc al, 0xd3
test dword [edx + 0x144cd044], ecx
nop
dec esp
adc al, 0x90
push ecx
jno 0x100a48e2
add ah, al
jge 0x100a4910
or al, 0x67
sahf
dec edi
rcr dword [ebx + 0x2709fa59], 1
mov dh, ah
and al, 0x8f
das
lea edi, [esi + 0x45ebd5a3]
jns 0x100a4934
stosb byte es:[edi], al
lodsb al, byte [esi]
sbb ebx, dword [esi - 0x4a]
sti
popfd
jmp 0x100a4f3c
push esi
push es
add byte [eax], al
pushfd
test byte [0x100a492e], 0x70
jne 0x100a4a2f
cmp bl, byte [0xd5c4c61e]
test byte [ebp + 0x29d4225b], bl
mov cl, 0x21
cdq
mov edi, 0xf6fc58d7
and byte [ebx - 0x21], 0xe2
dec esi
push cs
pop ebx
adc al, 4
pop ss
add al, 0x17
adc byte [edx], al
aas
stosb byte es:[edi], al
or byte [ebx - 2], bl
mov bl, ah
insd dword es:[edi], dx
lodsb al, byte [esi]
test bl, cl
popal
cmp dword [bp + si + 0x61], ecx
mov dh, 0x69
push ecx
xchg ecx, eax
std
cmpsb byte [esi], byte es:[edi]
in al, dx
fistp word [eax - 0x6f8a5b4]
inc edx
cmp eax, 0x817f96d3
lea ecx, fs:[edx]
or ebx, dword [ebp - 0x43]
dec edx
aam 0xe3
rcl dword [esi - 0x729b7e81], cl
or cl, byte [ebx]
pop ebp
mov ebp, 0xe3d44a2e
sti
sbb al, byte [0x3d0c189]
fadd dword [eax - 0x47]
sub esi, dword [ebx + 0x15]
mov esp, dword [ebx - 0x2b14fd61]
clc
jg 0x100a49ba
pop ebp
loopne 0x100a4989
int1
imul edx, dword [edx], 0xffffffb5
inc edi
and al, 0xb9
add eax, 0x6702272
cmp dword [ecx + 0x4c10b205], 0xd3b446fb
cdq
les edx, ds:[edi + edx*8]
scasd eax, dword es:[edi]
inc eax
xor byte [0x71765195], bh
cmp al, 0xbd
xchg esi, eax
call 0x5ef80fd5
dec eax
inc ecx
pushal
sbb byte [esi], bl
cmpsd dword [esi], dword es:[edi]
fcmovnb st(0), st(0)
lds edi, [0x70985c5e]
call 0xcca7428f
lodsb al, byte [esi]
jns 0x100a4995
cmc
clc
pushfd
mov esp, 0xdff879ac
push ds
fistp word [esi]
enter 0xffffffffffffd630, 5
mov ebp, 0xb749aaa6
movsb byte es:[edi], byte [esi]
sub al, 0x7a
mov al, byte [0x671b563c]
xor eax, 0x254d2939
jb 0x100a495a
xchg ebx, eax
sub byte [ecx], 0xf2
sub edx, esi
ror byte [edi - 0x770a9efe], 1
push es
or esp, ebp
int3
sbb edx, dword [eax - 0x70ca93f9]
pop esi
jno 0x82561190
idiv byte [esi]
adc al, 0x15
aad 0xaf
mov edi, 0x3eabc4cc
add esp, dword [ecx]
and al, 0xa6
in al, dx
int3
aad 0x9b
add eax, 0xadb56245
and cl, byte [esi*8 - 0x7d1552df]
cwde
cwde
jle 0x100a4996
out dx, eax
dec esi
rcl dh, cl
and byte [eax + 0x29], dl
mov al, 0xac
inc ecx
mov edi, dword [edi]
mov word [ebx + 0x4d5b4bb6], fs
sbb dword [ecx], ecx
test byte [ebp - 0x4c3d618d], al
fidiv word [eax - 0x1724f7c1]
popfd
push edi
push esi
pushfd
test byte [0x100a4a77], 0x70
jne 0x100a4b78
cmp al, 0xf4
fisub dword [esi]
and ebp, ebp
xor cl, byte [0xf57e0184]
xchg dword [edi - 0x24], esi
out dx, eax
je 0x100a49fb
cmpsd dword [esi], dword es:[edi]
xor esi, dword [edi - 0x256e15bd]
jb 0x100a49dc
sal byte [ebp - 0x74b36ea7], 1
jle 0x100a4a0a
mov eax, 0x3b6d7b66
sbb eax, 0xaf20049c
add al, 0x20
scasd eax, dword es:[edi]
push esi
jae 0x100a4a6a
cli
jecxz 0x100a4a6f
cmp dword [eax + 0x46371480], ebx
or eax, 0xa8d53983
pop ebx
and dword [eax - 0xb29fdbd], 0x5e8a97fa
pop es
pop ss
div dword [edx - 0x24]
aad 0xbc
shl dword [ebx - 0x10], 1
int3
cmp byte [ecx], ah
mov ecx, 0x8fdd3d0
std
or ch, bh
salc
mov esp, 0xdcdf24a9
push 0xc9a0a345
leave
jecxz 0x100a4b51
add dword [ecx - 0x1158345e], ebx
add dword [edx + eax*4 - 0x29], eax
xor al, 5
imul ebx, edx, 0xffffff80
or dword [edx], 0x8459e08d
add byte [ebx + ebp + 0x2d371f00], bh
inc edi
push ebp
mov edi, 0xef1564c9
mov dh, 0xb1
adc ebx, dword [edi + 0x4b4004d4]
aam 4
inc eax
dec ebx
enter 0xfffffffffffff197, 0x6c
jb 0x100a4b15
sub esp, esi
fisubr dword [eax]
lodsb al, byte [esi]
stc
mov edi, dword [edi - 0x11]
inc ebx
imul ecx, dword [edx - 0x5d762367], 0x92107c53
shr byte [ecx + 0x44], 1
cmp dword [edi], edi
cld
pop edx
adc bl, byte [eax]
popfd
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_LoadResource]
pushfd
test byte [0x100a4c5f], 0x89
jne 0x100a4c60
dec esp
or dl, byte [eax]
mov dword [edi], ecx
test eax, edx
add byte [eax], al
add byte [esp + ecx + 0x2f], ch
insb byte es:[edi], dx
or al, 0x2f
movsb byte es:[edi], byte [esi]
sahf
je 0x100a4b1b
mov al, 0xc7
jle 0x100a4b27
cmp dl, 0x92
dec esp
pop ds
pop edi
sti
les eax, [edx - 0x682f1fca]
mov edi, 0xdc104408
mov eax, 0x756729bc
call 0xbe2651ab
inc edi
sub dh, ch
sar al, 0x2e
fimul word [edi - 0x31]
mov dword [ecx - 0x25ee3f0d], eax
mov al, byte [0xf3d637a2]
in eax, 0xb
cmp cl, bl
xchg bl, ah
std
test dword [ebp - 0x6b], ebp
push ebx
popal
inc ebp
add eax, 0x1d5ea48c
dec sp
adc eax, 0xd07326eb
mul byte ds:[edi]
cmc
xor al, 0xca
sal edx, cl
mov dl, 7
dec eax
cmpsd dword [esi], dword es:[edi]
pop esi
sbb eax, 0x5fe93ac3
je 0x100a4b86
cvtpi2ps xmm3, mm7
loop 0x100a4bf8
cmp eax, 0x69e3c7d8
sub ch, byte [edx - 0x6d]
and cl, byte [edi - 0x71763a0b]
fistp word [ebx]
xchg edi, eax
cmp dword [edi], ebx
inc ebp
jbe 0x100a4c1c
nop
scasb al, byte es:[edi]
inc ecx
pop edi
popal
adc byte [edi + 0x284fd556], ch
arpl word [ebx + 0x589a3a90], si
fnstcw word [ebp - 0x240e5be3]
movsd dword es:[edi], dword [esi]
push 0xec6beaed
pop ds
mov dh, byte [eax]
sub eax, 0xc299787d
mov dword [0x65f35c46], eax
sbb ch, al
call 0x8fc985e5
cwde
sal dword [esi + 0x3f4bd3f], 0xb6
std
pushfd
push es
loop 0x100a4c9f
dec edi
sub byte [ebx - 0x4d], ah
nop
cmp bl, byte [edx + 0x1dbdd958]
movsb byte es:[edi], byte [esi]
int1
invalid
imul ecx, dword [ecx + 0x7aa47495], 0xfd8eb474
sbb byte [bx + di - 0xb], al
popfd
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
test edi, edi
jne 0x100a4cc8
call dword [sym.imp.KERNEL32.dll_GetLastError]
pushfd
test byte [0x100a4cbb], 2
jne 0x100a4cbc
out dx, al
dec esp
cmc
dec esi
jb 0x100a4c9a
pop ebx
sub byte [ecx], 0x6d
xchg ecx, eax
sbb dword [ecx], eax
popal
mov esp, 0x24cd63c8
xor eax, 0xb8d1634f
sub ch, byte [ecx - 0x53]
or al, 0xce
into
test dword [0x20e037bc], esi
loopne 0x100a4cc1
bnd jne 0x100a4d19
inc ebx
pop es
test eax, 0x1492ce42
xlatb
sbb esp, edi
mov al, byte [0x781ce4ca]
xchg esp, eax
adc dh, byte [ebx + eax*8 - 0x21c830ef]
popfd
push eax
push str.LockResource_Failed:__d_n
adc al, 0x10
jmp 0x100a4e14
push esi
pushfd
test byte [0x100a4d46], 0xf6
jne 0x100a4d47
xor eax, 0x9ae04798
nop
and eax, 0xf8aa68e7
out 0x68, eax
stosb byte es:[edi], al
clc
arpl word [edx], bx
adc eax, 0xd9fdafd8
cdq
call [ebx]
jno 0x100a4cda
or dword [eax - 0x55], edi
inc eax
bndstx [edx], bnd3
inc ebx
sbb byte [edx + 0x63], 0x44
call 0x176fe4c6
mov bh, 0x68
mov esi, 0x2a4ea4e4
adc edx, dword [ebp + 0xb]
mov esi, 0xb8228f43
dec byte [ebp - 0x33126f8a]
neg esi
outsd dx, dword [esi]
add ebx, esp
bound edx, qword [0x39352605]
and bl, byte [edx - 0x17292e0d]
mov al, 0x6f
add eax, 0x22393526
lcall 0x6fb0, 0xe8d6d1f3
or dword [eax - 0x2d2ac33f], 0x70
mov word [eax + 0x79], ds
push 0xfffffffffffffff1
push ebp
or ah, byte [eax]
lds edi, [ebx]
test al, 0x33
sub byte [edx + 0x7d0f29c], cl
sub byte [eax], cl
mov dl, 0xa2
mov dword [0x96772548], eax
popfd
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
test eax, eax
jne 0x100a4f2e
call dword [sym.imp.KERNEL32.dll_GetLastError]
pushfd
test byte [0x100a4e0c], 4
jne 0x100a4e0d
adc byte [esi + esi*8 + 0xa4e0c05], bl
adc byte [edi + ecx], al
test dword [eax - 0x5c000000], esp
movsb byte es:[edi], byte [esi]
cmp dl, byte [ebp - 0x824accc]
xor bh, byte [ecx + 0x38]
das
add byte [edx + 8], al
jae 0x100a4dcb
outsb dx, byte [esi]
inc eax
or dword [ebx + 0x602ebcda], edx
pushal
test byte [eax + 0x60], bh
sbb eax, 0xf4f7fdc6
mov ah, 0x4b
pop ds
cli
adc eax, 0x81decd1f
sti
pop edx
cmp dword [eax], ebx
jno 0x100a4d83
mov esp, 0x79d447ec
inc edi
mov ch, 0x23
sal esi, 1
lodsb al, byte [esi]
aam 0x73
stosd dword es:[edi], eax
or al, 0x20
mov byte [ebp - 0x4b], bh
jns 0x100a4d5e
pop esp
push eax
push ecx
mov byte [edi - 0x2ac4180], dl
sahf
int3
fsub qword [ebp + 0x3254c7a0]
cmpsd dword [esi], dword es:[edi]
mov byte [esi - 0x4248b3a5], al
les ebp, [eax + edi - 0x10]
outsb dx, byte [esi]
xchg edx, eax
jb 0x100a4daf
xlatb
push es
mov dl, byte [edx - 0x7f]
cmp cl, cl
pop edi
xor al, 0x80
scasb al, byte es:[edi]
mov eax, dword [ecx - 0x220829e3]
int3
popfd
push eax
push str.SizeofResource_Failed:__d_n
call fcn.10041f44
pop ecx
pop ecx
xor eax, eax
jmp 0x100a4f3b
pop es
jo 0x100a4f88
fist dword [ebp + 0x144d8b9d]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], edi
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
xor eax, eax
inc eax
pop edi
pop esi
pop ebp
pushfd
test byte [0x100a4f53], 0x11
jne 0x100a5054
pop ebx
adc bl, byte [ecx]
insb byte es:[edi], dx
aaa
inc ebp
push ds
jno 0x100a4f28
shr dword [edi - 0x54], cl
mov esp, 0x80c2f990
push ebx
pop ecx
and bh, byte [esi - 0x3dff5eed]
adc dword [esp + edx*4 - 0x66], edi
and byte [ebx + ecx*8 + 7], ah
sal bh, cl
movsd dword es:[edi], dword [esi]
pop ss
in eax, dx
sti
push esi
dec esp
int3
jl 0x100a4f4f
fmul st(6), st(0)
add eax, edi
lodsd eax, dword [esi]
call 0x2254e7dc
cmpsd dword [esi], dword es:[edi]
jns 0x100a4f91
add ebx, ecx
push si
insd dword es:[edi], dx
pop ebp
add ecx, 0x2b
sub cl, bl
pop esp
mov ecx, 0x74946105
sub eax, 0x195bf993
mov al, byte [0x6bcacaf8]
and byte [edi - 0x7779ed9e], bl
cmp eax, 0xb584c1f
loopne 0x100a502e
mov edi, dr3
adc dword [edx], ecx
push edx
leave
xchg ebx, eax
mov byte [esi], dh
adc eax, 0xda56da55
xchg esi, eax
jle 0x100a4fdd
popal
fucomp st(0)
js 0x100a4f84
dec edi
sti
xor byte [esi - 0x12], al
cdq
sbb eax, 0x5aec1327
pop edx
fnstcw word [ebp + 0x3e8d5b5b]
sub dword [edi - 0x5f0caa6], eax
out 0x4a, eax
ror dword [esi], 1
sub byte [esi + eax*2 + 0x2d], bh
inc esi
push ebx
stc
fisub dword [esi + 0x5d]
mov bl, 0x23
dec ebp
mov esi, dword [ebx]
sal dword [ecx], 0x7a
mov dh, byte [ebp + 0x50]
sub dh, ch
mov ah, 0x32
add edx, dword [edx + esi*4 + 0x45]
stosd dword es:[edi], eax
or bh, byte [edi - 0x17b212a6]
mov bl, 0x70
scasb al, byte es:[edi]
out dx, eax
mov word [ebx], gs
pop edx
loopne 0x100a4fb4
push esp
cmp ah, bh
mov al, byte [0x45e37a4f]
aad 0x20
movsb byte es:[edi], byte [esi]
movsd dword es:[edi], dword [esi]
jecxz 0x100a5062
cmpsd dword [esi], dword es:[edi]
fisub dword [ebp - 0x7a]
push edi
and dword [ebp + 0x1932ba4f], ebx
xchg edi, eax
pop ecx
xchg byte [edi + 0x21], dl
popfd
dec edi
mov edx, 0x59971932
loopne 0x100a5000
inc ebx
fcmove st(0), st(7)
outsd dx, dword [esi]
xor al, 0x2d
dec esp
aas
push edi
pop ebx
sar ch, cl
je 0x100a50bd
sbb byte [edx], dh
imul ecx, edi, 0x6fe668cb
mov ch, 0xf2
cmpsb byte [esi], byte es:[edi]
popfd
ret
pop ss
adc byte [ebx], dh
lds ebx, [esi + esi*8 + 0xa50b105]
adc byte [edx], bh