Function at 0x1000ae60
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
lea ebp, [esp - 0x3a4]
sub esp, 0x424
mov eax, dword [0x10022cac]
xor eax, ebp
mov dword [ebp + 0x3a0], eax
mov edx, dword [ebp + 0x3b0]
mov eax, dword [ebp + 0x3ac]
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x68], edx
mov edx, dword [ebp + 0x3b4]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x64], edi
test eax, eax
je 0x1000af46
push eax
call dword [sym.imp.kernel32.dll_lstrlenW]
inc eax
cdq
mov esi, eax
shld edx, esi, 1
add esi, esi
mov eax, esi
add eax, 0x80000000
adc edx, edi
mov dword [ebp - 0x7c], edx
jne 0x1000af40
cmp eax, 0xffffffff
ja 0x1000af40
cmp esi, 0x400
jg 0x1000aef0
push esi
call fcn.1000ef81
add esp, 4
test al, al
je 0x1000aef0
mov eax, esi
call fcn.1000d270
mov ebx, esp
jmp 0x1000af11
or eax, 0xffffffff
sub eax, esi
cmp eax, 8
jb 0x1000af36
lea eax, [esi + 8]
push eax
call fcn.1000ef81
add esp, 4
test eax, eax
je 0x1000af40
mov dword [eax], edi
mov edi, eax
lea ebx, [eax + 8]
test ebx, ebx
je 0x1000af40
mov ecx, dword [ebp - 0x70]
push 0
push 0
push esi
push ebx
push 0xffffffffffffffff
push ecx
push 0
push 3
mov byte [ebx], 0
call dword [sym.imp.kernel32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, ebx
jmp 0x1000af42
push 0x80070216
call fcn.10001000
xor eax, eax
test eax, eax
jne 0x1000af79
lea edx, [ebp - 0x60]
cmp dword [ebp - 0x64], edx
je 0x1000af56
lea ecx, [ebp - 0x64]
call fcn.10002f80
test edi, edi
je 0x1000af6f
lea ebx, [ebx]
push edi
mov edi, dword [edi]
call fcn.1000ef81
add esp, 4
test edi, edi
jne 0x1000af60
mov eax, 0x8007000e
jmp 0x1000b051
push 2
push 0
push eax
call dword [sym.imp.kernel32.dll_LoadLibraryExA]
mov ebx, eax
test ebx, ebx
jne 0x1000af96
call fcn.10002480
mov esi, eax
jmp 0x1000b029
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
push eax
push ecx
push ebx
call dword [sym.imp.kernel32.dll_FindResourceA]
mov esi, eax
test esi, esi
jne 0x1000afb2
call fcn.10002480
jmp 0x1000b020
push esi
push ebx
call dword [sym.imp.kernel32.dll_LoadResource]
mov dword [ebp - 0x68], eax
test eax, eax
jne 0x1000afc8
call fcn.10002480
jmp 0x1000b020
push esi
push ebx
call dword [sym.imp.kernel32.dll_SizeofResource]
mov esi, eax
lea eax, [esi + 1]
cmp eax, esi
jae 0x1000afe0
mov esi, 0x8007000e
jmp 0x1000b022
push eax
lea ecx, [ebp - 0x64]
call fcn.100046a0
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x1000aff7
mov esi, 0x8007000e
jmp 0x1000b022
mov edx, dword [ebp - 0x68]
push esi
push edx
push esi
push eax
call fcn.100020b0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp + 0x3b8]
add esp, 0x10
mov byte [eax + esi], 0
mov edx, dword [ebp - 0x64]
push ecx
push edx
lea ecx, [ebp - 0x78]
call fcn.100055e0
mov esi, eax
push ebx
call dword [sym.imp.kernel32.dll_FreeLibrary]
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x64], eax
je 0x1000b039
lea ecx, [ebp - 0x64]
call fcn.10002f80
test edi, edi
je 0x1000b04f
lea ecx, [ecx]
push edi
mov edi, dword [edi]
call fcn.1000ef81
add esp, 4
test edi, edi
jne 0x1000b040
mov eax, esi
lea esp, [ebp - 0x8c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x3a0]
xor ecx, ebp
call fcn.1000cc2a
lea esp, [ebp + 0x3a4]
pop ebp
ret 0x10