Function at 0x468860
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d43e6
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1420
call fcn.004ed940
mov eax, dword [0x643004]
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 eax, dword [ebp + 0xc]
xor esi, esi
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1430], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x142c], ebx
mov dword [ebp - 0x1428], eax
mov dword [ebp - 0x1020], esi
push 0x404
xorps xmm0, xmm0
mov dword [ebp - 4], esi
lea eax, [ebp - 0x1424]
movq qword [ebp - 0x101c], xmm0
push esi
push eax
mov dword [ebp - 0x1018], ecx
mov dword [ebp - 0x101c], esi
call fcn.00484a00
add esp, 0xc
mov dword [ebp - 0x1424], esi
mov byte [ebp - 4], 1
test ebx, ebx
je 0x468c9b
mov ecx, ebx
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x468900
sub ecx, edx
sar ecx, 1
lea eax, [ecx + 1]
mov ecx, 2
imul ecx
mov ebx, eax
test edx, edx
jg 0x4689bb
jl 0x468931
cmp ebx, 0x7fffffff
ja 0x4689bb
cmp edx, 0xffffffff
jl 0x4689bb
jg 0x468944
cmp ebx, 0x80000000
jb 0x4689bb
cmp ebx, 0x400
jg 0x468965
mov ecx, ebx
call fcn.00466a50
test al, al
je 0x468965
mov eax, ebx
call fcn.004ed970
mov dword [ebp - 0x10], esp
mov edi, esp
jmp 0x468993
mov eax, ebx
not eax
cmp eax, 8
jb 0x468cf0
lea eax, [ebx + 8]
push eax
call fcn.004a26b5
add esp, 4
test eax, eax
je 0x4689bb
mov esi, eax
mov dword [eax], 0
mov dword [ebp - 0x1020], esi
lea edi, [eax + 8]
test edi, edi
je 0x4689bb
push 0
push 0
push ebx
push edi
push 0xffffffffffffffff
push dword [ebp - 0x142c]
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 0x4689bd
xor edi, edi
test edi, edi
je 0x468c9b
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
push 0x60
push 0
push edi
call ebx
mov dword [ebp - 0x142c], eax
test eax, eax
jne 0x4689f8
push 2
push eax
push edi
call ebx
mov dword [ebp - 0x142c], eax
test eax, eax
jne 0x4689f8
call fcn.00466e00
mov edi, eax
jmp 0x468b83
push dword [ebp - 0x1428]
push dword [ebp - 0x1430]
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, eax
test edi, edi
jne 0x468a1d
call fcn.00466e00
mov edi, eax
jmp 0x468b72
push edi
push dword [ebp - 0x142c]
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebx, eax
mov dword [ebp - 0x1430], ebx
test ebx, ebx
jne 0x468a42
call fcn.00466e00
mov edi, eax
jmp 0x468b72
push edi
push dword [ebp - 0x142c]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
mov dword [ebp - 0x1428], edi
lea eax, [edi + 1]
cmp eax, edi
jae 0x468a68
mov edi, 0x8007000e
jmp 0x468b72
mov byte [ebp - 4], 2
cmp eax, 0x400
jbe 0x468aa2
push eax
lea ecx, [ebp - 0x1424]
call fcn.00477a20
jmp 0x468aae
lea eax, [ebp - 0x1420]
mov dword [ebp - 0x1424], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x1424], 0
jne 0x468ac8
mov edi, 0x8007000e
jmp 0x468b72
mov ecx, dword [ebp - 0x1424]
mov edx, edi
push edi
push ebx
call fcn.00466800
push eax
call fcn.00466c70
mov eax, dword [ebp - 0x1424]
lea ecx, [ebp - 0x101c]
add esp, 0xc
mov dword [ebp - 0x1428], 0
mov byte [eax + edi], 0
lea eax, [ebp - 0x1428]
push eax
push dword [ebp - 0x1424]
call fcn.00469d80
mov edi, eax
test edi, edi
js 0x468b72
mov ebx, dword [ebp - 0x1428]
mov dword [ebp - 0x101c], ebx
cmp byte [ebx], 0
je 0x468b6b
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x101c]
call fcn.004694f0
mov edi, eax
test edi, edi
js 0x468b65
xor ebx, ebx
xor edi, edi
nop
push dword [edi + 0x62f6f0]
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x468bb6
add edi, 8
inc ebx
cmp edi, 0x70
jb 0x468b40
mov edi, 0x80020009
mov ebx, dword [ebp - 0x1428]
push ebx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [ebp - 0x142c]
test eax, eax
je 0x468b83
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [ebp - 0x1420]
cmp dword [ebp - 0x1424], eax
je 0x468b9c
lea ecx, [ebp - 0x1424]
call fcn.00477530
test esi, esi
je 0x468baf
push esi
mov esi, dword [esi]
call fcn.004a26b0
add esp, 4
test esi, esi
jne 0x468ba0
mov eax, edi
jmp 0x468ccc
mov ebx, dword [ebx*8 + 0x62f6f4]
test ebx, ebx
je 0x468b60
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x101c]
call fcn.004694f0
mov edi, eax
test edi, edi
js 0x468b65
cmp byte [ebp - 0x1014], 0x7b
jne 0x468b60
mov ecx, dword [ebp + 0x14]
push 0
test ecx, ecx
je 0x468c3d
mov eax, dword [ebp - 0x101c]
push ecx
mov dword [ebp - 0x1430], eax
lea ecx, [ebp - 0x101c]
push ebx
lea eax, [ebp - 0x1014]
push eax
call fcn.0046a290
mov edi, eax
test edi, edi
jns 0x468c5c
mov eax, dword [ebp - 0x1430]
lea ecx, [ebp - 0x101c]
push 0
push 0
mov dword [ebp - 0x101c], eax
lea eax, [ebp - 0x1014]
push ebx
push eax
call fcn.0046a290
jmp 0x468b65
push 0
push ebx
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x101c]
call fcn.0046a290
mov edi, eax
test edi, edi
js 0x468b65
mov edx, dword [ebp - 0x101c]
mov cl, byte [edx]
movsx eax, cl
add eax, 0xfffffff7
cmp eax, 0x17
ja case.0x468c76.11
movzx eax, byte [eax + 0x468d04]
jmp dword [eax*4 + 0x468cfc]
push edx
call dword [sym.imp.USER32.dll_CharNextA]
mov edx, eax
mov dword [ebp - 0x101c], edx
jmp 0x468c62
invalid
test cl, cl
jne 0x468b23
jmp 0x468b65
lea eax, [ebp - 0x1420]
cmp dword [ebp - 0x1424], eax
je 0x468cb4
lea ecx, [ebp - 0x1424]
call fcn.00477530
test esi, esi
je 0x468cc7
push esi
mov esi, dword [esi]
call fcn.004a26b0
add esp, 4
test esi, esi
jne 0x468cb8
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.00482be9
mov esp, ebp
pop ebp
ret 0x10
push 0x80070216
call fcn.00466c30
nop
jge 0x468c8a
inc esi
add byte [esi + 0x468c], cl
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