Function at 0x40b770
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b5ac0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x140
push ebx
push esi
mov edx, ecx
push edi
mov edi, dword [ebp + 0xc]
mov ecx, 0xf2
xor eax, eax
xor esi, esi
rep stosd dword es:[edi], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0x10], esp
cmp eax, esi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], esi
je 0x40b7ca
mov eax, dword [ebp + 8]
push 2
push esi
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
jmp 0x40b828
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x14b]
mov byte [ebp - 0x14c], 0
rep stosd dword es:[edi], eax
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x14c]
stosw word es:[edi], ax
push 0x104
push ecx
push 0xffffffffffffffff
push edx
stosb byte es:[edi], al
call fcn.00408560
add esp, 0x10
cmp eax, esi
jne 0x40b818
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push 0x4ce250
push eax
call fcn.0041fc61
push 2
lea ecx, [ebp - 0x14c]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov ebx, eax
cmp ebx, esi
mov dword [ebp - 0x18], ebx
jne 0x40b848
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 0x44]
push 0x4ce250
push edx
mov dword [ebp - 0x44], eax
call fcn.0041fc61
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
push eax
push 0x40bc10
push 1
push 0x10
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceLanguagesA]
mov ecx, dword [ebp - 0x1c]
push ecx
push 1
push 0x10
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceExA]
mov esi, eax
test esi, esi
jne 0x40b8b8
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x714
je 0x40b899
cmp eax, 0x715
je 0x40b899
lea edx, [ebp - 0x30]
push 0x4ce250
push edx
mov dword [ebp - 0x30], eax
call fcn.0041fc61
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push esi
push ebx
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
jne 0x40b8e5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push 0x4ce250
push eax
call fcn.0041fc61
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
test esi, esi
jne 0x40b909
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x38]
push 0x4ce250
push ecx
mov dword [ebp - 0x38], eax
call fcn.0041fc61
lea ebx, [esi + edi]
mov ecx, esi
push ebx
call fcn.0040bcf0
test eax, eax
jne 0x40b92d
lea edx, [ebp - 0x28]
push 0x4ceaa8
push edx
mov dword [ebp - 0x28], 0xffffffff
call fcn.0041fc61
push ebx
mov ecx, esi
call fcn.0040bc70
cmp word [esi + 2], 0xc
jb 0x40b944
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
mov dword [edx], ecx
cmp word [esi + 2], 0x10
jb 0x40b954
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
mov dword [ecx + 4], eax
push ebx
mov ecx, esi
call fcn.0040bcd0
mov esi, eax
push ebx
mov ecx, esi
call fcn.0040bd90
test eax, eax
jne 0x40b97f
lea edx, [ebp - 0x2c]
push 0x4ceaa8
push edx
mov dword [ebp - 0x2c], 0xffffffff
call fcn.0041fc61
mov ecx, esi
call fcn.0040bd50
push 0x4db36c
push eax
call fcn.0048de34
add esp, 8
test eax, eax
jne 0x40bbec
push ebx
mov ecx, esi
call fcn.0040bd60
mov esi, eax
push ebx
mov ecx, esi
call fcn.0040be20
test eax, eax
jne 0x40b9c7
lea eax, [ebp - 0x34]
push 0x4ceaa8
push eax
mov dword [ebp - 0x34], 0xffffffff
call fcn.0041fc61
push ebx
mov ecx, esi
call fcn.0040bdf0
mov edi, eax
push ebx
mov ecx, edi
call fcn.0040bef0
test eax, eax
jne 0x40b9f2
lea ecx, [ebp - 0x3c]
push 0x4ceaa8
push ecx
mov dword [ebp - 0x3c], 0xffffffff
call fcn.0041fc61
xor eax, eax
mov ax, word [esi]
mov dword [ebp + 8], eax
test eax, eax
jle 0x40bbec
push ebx
mov ecx, edi
call fcn.0040bef0
test eax, eax
je 0x40bbec
push ebx
mov ecx, edi
call fcn.0040beb0
and eax, 0xffff
mov ecx, edi
mov esi, eax
call fcn.0040be70
push 0x4db354
push eax
call fcn.0048de34
add esp, 8
test eax, eax
jne 0x40ba61
test esi, esi
jbe 0x40ba61
cmp esi, 0x50
jb 0x40ba48
mov esi, 0x4f
push ebx
mov ecx, edi
call fcn.0040be80
mov edx, dword [ebp + 0xc]
push esi
add edx, 0x288
push eax
push edx
jmp 0x40bb91
mov ecx, edi
call fcn.0040be70
push 0x4db334
push eax
call fcn.0048de34
add esp, 8
test eax, eax
jne 0x40ba9e
test esi, esi
jbe 0x40ba9e
cmp esi, 0x50
jb 0x40ba88
mov esi, 0x4f
push ebx
mov ecx, edi
call fcn.0040be80
push esi
push eax
mov eax, dword [ebp + 0xc]
add eax, 8
push eax
jmp 0x40bb91
mov ecx, edi
call fcn.0040be70
push 0x4db318
push eax
call fcn.0048de34
add esp, 8
test eax, eax
jne 0x40badd
test esi, esi
jbe 0x40badd
cmp esi, 0x50
jb 0x40bac5
mov esi, 0x4f
push ebx
mov ecx, edi
call fcn.0040be80
mov ecx, dword [ebp + 0xc]
push esi
push eax
add ecx, 0x148
jmp 0x40bb90
mov ecx, edi
call fcn.0040be70
push 0x4db2f8
push eax
call fcn.0048de34
add esp, 8
test eax, eax
jne 0x40bb1a
test esi, esi
jbe 0x40bb1a
cmp esi, 0x50
jb 0x40bb04
mov esi, 0x4f
push ebx
mov ecx, edi
call fcn.0040be80
mov edx, dword [ebp + 0xc]
push esi
add edx, 0x328
push eax
push edx
jmp 0x40bb91
mov ecx, edi
call fcn.0040be70
push 0x4db2d4
push eax
call fcn.0048de34
add esp, 8
test eax, eax
jne 0x40bb56
test esi, esi
jbe 0x40bb56
cmp esi, 0x50
jb 0x40bb41
mov esi, 0x4f
push ebx
mov ecx, edi
call fcn.0040be80
push esi
push eax
mov eax, dword [ebp + 0xc]
add eax, 0xa8
push eax
jmp 0x40bb91
mov ecx, edi
call fcn.0040be70
push 0x4db2bc
push eax
call fcn.0048de34
add esp, 8
test eax, eax
jne 0x40bb99
test esi, esi
jbe 0x40bb99
cmp esi, 0x50
jb 0x40bb7d
mov esi, 0x4f
push ebx
mov ecx, edi
call fcn.0040be80
mov ecx, dword [ebp + 0xc]
push esi
push eax
add ecx, 0x1e8
push ecx
call fcn.0041fb75
add esp, 0xc
mov eax, dword [ebp + 8]
xor edx, edx
mov dx, word [edi]
mov ecx, edi
add edx, 3
and edx, 0xfffffffc
sub eax, edx
mov dword [ebp + 8], eax
call fcn.0040bee0
mov edi, eax
mov eax, dword [ebp + 8]
jmp 0x40b9fa
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x40bbfa
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8