Function at 0x4218d0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a3f6b
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1420
call fcn.0042da30
mov eax, dword [0x4c4024]
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 - 0x142c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1430], ebx
mov dword [ebp - 0x1428], eax
mov dword [ebp - 0x1020], esi
push 0x404
lea eax, [ebp - 0x1424]
mov dword [ebp - 4], esi
push esi
push eax
mov dword [ebp - 0x1018], ecx
mov dword [ebp - 0x101c], esi
call fcn.0047c720
add esp, 0xc
mov dword [ebp - 0x1424], esi
mov byte [ebp - 4], 1
test ebx, ebx
je 0x421ceb
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x421964
sub ecx, edx
sar ecx, 1
lea eax, [ecx + 1]
mov ecx, 2
imul ecx
mov ebx, eax
test edx, edx
jg 0x421a1f
jl 0x421995
cmp ebx, 0x7fffffff
ja 0x421a1f
cmp edx, 0xffffffff
jl 0x421a1f
jg 0x4219a8
cmp ebx, 0x80000000
jb 0x421a1f
cmp ebx, 0x400
jg 0x4219c9
mov ecx, ebx
call fcn.00420440
test al, al
je 0x4219c9
mov eax, ebx
call fcn.0042d440
mov dword [ebp - 0x10], esp
mov edi, esp
jmp 0x4219f7
mov eax, ebx
not eax
cmp eax, 8
jb 0x421d40
lea eax, [ebx + 8]
push eax
call fcn.0047e300
add esp, 4
test eax, eax
je 0x421a1f
mov esi, eax
mov dword [eax], 0
mov dword [ebp - 0x1020], esi
lea edi, [eax + 8]
test edi, edi
je 0x421a1f
push 0
push 0
push ebx
push edi
push 0xffffffffffffffff
push dword [ebp - 0x1430]
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 0x421a21
xor edi, edi
test edi, edi
je 0x421ceb
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
push 0x60
push 0
push edi
call ebx
mov dword [ebp - 0x1430], eax
test eax, eax
jne 0x421a5c
push 2
push eax
push edi
call ebx
mov dword [ebp - 0x1430], eax
test eax, eax
jne 0x421a5c
call fcn.0041fcd0
mov edi, eax
jmp 0x421bf3
push dword [ebp - 0x1428]
push dword [ebp - 0x142c]
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov dword [ebp - 0x142c], eax
test eax, eax
jne 0x421a85
call fcn.0041fcd0
mov edi, eax
jmp 0x421be2
mov edi, dword [ebp - 0x1430]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebx, eax
mov dword [ebp - 0x1428], ebx
test ebx, ebx
jne 0x421aab
call fcn.0041fcd0
mov edi, eax
jmp 0x421be2
push dword [ebp - 0x142c]
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
mov dword [ebp - 0x142c], edi
lea eax, [edi + 1]
cmp eax, edi
jae 0x421ad1
mov edi, 0x8007000e
jmp 0x421be2
mov byte [ebp - 4], 2
cmp eax, 0x400
jbe 0x421b0b
push eax
lea ecx, [ebp - 0x1424]
call fcn.0041fcf0
jmp 0x421b17
lea eax, [ebp - 0x1420]
mov dword [ebp - 0x1424], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x1424], 0
jne 0x421b31
mov edi, 0x8007000e
jmp 0x421be2
test edi, edi
je 0x421b45
push edi
push ebx
push dword [ebp - 0x1424]
call fcn.0047c1a0
add esp, 0xc
push 0
call fcn.00420b50
mov eax, dword [ebp - 0x1424]
lea ecx, [ebp - 0x101c]
add esp, 4
mov dword [ebp - 0x1428], 0
mov byte [eax + edi], 0
lea eax, [ebp - 0x1428]
push eax
push dword [ebp - 0x1424]
call fcn.0041ffa0
mov edi, eax
test edi, edi
js 0x421be2
mov ebx, dword [ebp - 0x1428]
mov dword [ebp - 0x101c], ebx
cmp byte [ebx], 0
je 0x421bdb
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x101c]
call fcn.00420f80
mov edi, eax
test edi, edi
js 0x421bd5
xor ebx, ebx
xor edi, edi
nop
push dword [edi + 0x4bcd78]
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x421c26
add edi, 8
inc ebx
cmp edi, 0x70
jb 0x421bb0
mov edi, 0x80020009
mov ebx, dword [ebp - 0x1428]
push ebx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [ebp - 0x1430]
test eax, eax
je 0x421bf3
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [ebp - 0x1420]
cmp dword [ebp - 0x1424], eax
je 0x421c0c
lea ecx, [ebp - 0x1424]
call fcn.0041fcb0
test esi, esi
je 0x421c1f
push esi
mov esi, dword [esi]
call fcn.0047e30b
add esp, 4
test esi, esi
jne 0x421c10
mov eax, edi
jmp 0x421d1c
mov ebx, dword [ebx*8 + 0x4bcd7c]
test ebx, ebx
je 0x421bd0
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x101c]
call fcn.00420f80
mov edi, eax
test edi, edi
js 0x421bd5
cmp byte [ebp - 0x1014], 0x7b
jne 0x421bd0
mov ecx, dword [ebp + 0x14]
push 0
test ecx, ecx
je 0x421cad
mov eax, dword [ebp - 0x101c]
push ecx
mov dword [ebp - 0x142c], eax
lea ecx, [ebp - 0x101c]
push ebx
lea eax, [ebp - 0x1014]
push eax
call fcn.004210e0
mov edi, eax
test edi, edi
jns 0x421ccc
mov eax, dword [ebp - 0x142c]
lea ecx, [ebp - 0x101c]
push 0
push 0
mov dword [ebp - 0x101c], eax
lea eax, [ebp - 0x1014]
push ebx
push eax
call fcn.004210e0
jmp 0x421bd5
push 0
push ebx
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x101c]
call fcn.004210e0
mov edi, eax
test edi, edi
js 0x421bd5
lea ecx, [ebp - 0x101c]
call fcn.00421880
mov eax, dword [ebp - 0x101c]
cmp byte [eax], 0
jne 0x421b92
jmp 0x421bd5
lea eax, [ebp - 0x1420]
cmp dword [ebp - 0x1424], eax
je 0x421d04
lea ecx, [ebp - 0x1424]
call fcn.0041fcb0
test esi, esi
je 0x421d17
push esi
mov esi, dword [esi]
call fcn.0047e30b
add esp, 4
test esi, esi
jne 0x421d08
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.0042ca6a
mov esp, ebp
pop ebp
ret 0x10
push 0x80070216
call fcn.00420b30
int3