Function at 0x428280
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b38f6
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1420
call fcn.004b0ff0
mov eax, dword [0x4d044c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edx, dword [ebp + 0xc]
xor esi, esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x142c], edx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x1420], eax
mov dword [ebp - 0x141c], edx
mov dword [ebp - 0x1430], esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x1424], ecx
mov dword [ebp - 0x1428], esi
mov dword [ebp - 0x1418], esi
mov byte [ebp - 4], 1
test eax, eax
je 0x4286a9
mov ecx, eax
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x428300
sub ecx, edx
sar ecx, 1
lea eax, [ecx + 1]
mov ecx, 2
imul ecx
mov ebx, eax
test edx, edx
jg 0x4283bb
jl 0x428331
cmp ebx, 0x7fffffff
ja 0x4283bb
cmp edx, 0xffffffff
jl 0x4283bb
jg 0x428344
cmp ebx, 0x80000000
jb 0x4283bb
cmp ebx, 0x400
jg 0x428365
mov ecx, ebx
call fcn.00426810
test al, al
je 0x428365
mov eax, ebx
call fcn.004b09f0
mov dword [ebp - 0x10], esp
mov edi, esp
jmp 0x428393
mov eax, ebx
not eax
cmp eax, 8
jb 0x428708
lea eax, [ebx + 8]
push eax
call fcn.0048b928
add esp, 4
test eax, eax
je 0x4283bb
mov esi, eax
mov dword [eax], 0
mov dword [ebp - 0x1430], esi
lea edi, [eax + 8]
test edi, edi
je 0x4283bb
push 0
push 0
push ebx
push edi
push 0xffffffffffffffff
push dword [ebp - 0x1420]
mov byte [edi], 0
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor ecx, ecx
test eax, eax
cmove edi, ecx
jmp 0x4283bd
xor edi, edi
test edi, edi
je 0x4286a9
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
push 0x60
push 0
push edi
call ebx
mov dword [ebp - 0x1420], eax
test eax, eax
jne 0x4283f8
push 2
push eax
push edi
call ebx
mov dword [ebp - 0x1420], eax
test eax, eax
jne 0x4283f8
call fcn.00425a00
mov edi, eax
jmp 0x428583
push dword [ebp - 0x141c]
push dword [ebp - 0x142c]
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, eax
test edi, edi
jne 0x42841d
call fcn.00425a00
mov edi, eax
jmp 0x428572
push edi
push dword [ebp - 0x1420]
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebx, eax
mov dword [ebp - 0x142c], ebx
test ebx, ebx
jne 0x428442
call fcn.00425a00
mov edi, eax
jmp 0x428572
push edi
push dword [ebp - 0x1420]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
mov dword [ebp - 0x141c], edi
lea eax, [edi + 1]
cmp eax, edi
jae 0x428468
mov edi, 0x8007000e
jmp 0x428572
mov byte [ebp - 4], 2
cmp eax, 0x400
jbe 0x4284a2
push eax
lea ecx, [ebp - 0x1418]
call fcn.00425a20
jmp 0x4284ae
lea eax, [ebp - 0x1414]
mov dword [ebp - 0x1418], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x1418], 0
jne 0x4284c8
mov edi, 0x8007000e
jmp 0x428572
mov ecx, dword [ebp - 0x1418]
mov edx, edi
push edi
push ebx
call fcn.00425e70
push eax
call fcn.004270d0
mov eax, dword [ebp - 0x1418]
lea ecx, [ebp - 0x1428]
add esp, 0xc
mov dword [ebp - 0x141c], 0
mov byte [eax + edi], 0
lea eax, [ebp - 0x141c]
push eax
push dword [ebp - 0x1418]
call fcn.00426010
mov edi, eax
test edi, edi
js 0x428572
mov ebx, dword [ebp - 0x141c]
mov dword [ebp - 0x1428], ebx
cmp byte [ebx], 0
je 0x42856b
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x1428]
call fcn.00427750
mov edi, eax
test edi, edi
js 0x428565
xor ebx, ebx
xor edi, edi
nop
push dword [edi + 0x4c4960]
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x4285bd
add edi, 8
inc ebx
cmp edi, 0x70
jb 0x428540
mov edi, 0x80020009
mov ebx, dword [ebp - 0x141c]
push ebx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [ebp - 0x1420]
test eax, eax
je 0x428583
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [ebp - 0x1414]
cmp dword [ebp - 0x1418], eax
je 0x42859c
lea ecx, [ebp - 0x1418]
call fcn.004259e0
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x4285b6
push esi
mov esi, dword [esi]
call fcn.0048b923
add esp, 4
test esi, esi
jne 0x4285a7
mov eax, edi
jmp 0x4286e4
mov ebx, dword [ebx*8 + 0x4c4964]
test ebx, ebx
je 0x428560
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x1428]
call fcn.00427750
mov edi, eax
test edi, edi
js 0x428565
cmp byte [ebp - 0x1014], 0x7b
jne 0x428560
mov ecx, dword [ebp + 0x14]
push 0
test ecx, ecx
je 0x428644
mov eax, dword [ebp - 0x1428]
push ecx
mov dword [ebp - 0x142c], eax
lea ecx, [ebp - 0x1428]
push ebx
lea eax, [ebp - 0x1014]
push eax
call fcn.004278c0
mov edi, eax
test edi, edi
jns 0x428663
mov eax, dword [ebp - 0x142c]
lea ecx, [ebp - 0x1428]
push 0
push 0
mov dword [ebp - 0x1428], eax
lea eax, [ebp - 0x1014]
push ebx
push eax
call fcn.004278c0
jmp 0x428565
push 0
push ebx
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x1428]
call fcn.004278c0
mov edi, eax
test edi, edi
js 0x428565
mov edx, dword [ebp - 0x1428]
nop dword [eax]
mov cl, byte [edx]
movsx eax, cl
add eax, 0xfffffff7
cmp eax, 0x17
ja case.0x428684.11
movzx eax, byte [eax + 0x42871c]
jmp dword [eax*4 + 0x428714]
push edx
call dword [sym.imp.USER32.dll_CharNextA]
mov edx, eax
mov dword [ebp - 0x1428], edx
jmp 0x428670
test cl, cl
jne 0x428523
jmp 0x428565
lea eax, [ebp - 0x1414]
cmp dword [ebp - 0x1418], eax
je 0x4286c2
lea ecx, [ebp - 0x1418]
call fcn.004259e0
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x4286df
nop dword [eax]
push esi
mov esi, dword [esi]
call fcn.0048b923
add esp, 4
test esi, esi
jne 0x4286d0
mov eax, 0x8007000e
lea esp, [ebp - 0x1440]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004606ac
mov esp, ebp
pop ebp
ret 0x10
push 0x80070216
call fcn.004270b0
nop
mov eax, dword [esi - 0x7963ffbe]
inc edx
add byte [eax], al
add byte [ecx], al
add dword [eax], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add ah, cl
int3