Function at 0x40b630
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49e540
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 0x40b68a
mov eax, dword [ebp + 8]
push 2
push esi
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
jmp 0x40b6e8
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.004083f0
add esp, 0x10
cmp eax, esi
jne 0x40b6d8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push 0x4b06d0
push eax
call fcn.0041e909
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 0x40b708
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 0x44]
push 0x4b06d0
push edx
mov dword [ebp - 0x44], eax
call fcn.0041e909
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
push eax
push 0x40bad0
push 1
push 0x10
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceLanguagesW]
mov ecx, dword [ebp - 0x1c]
push ecx
push 1
push 0x10
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceExW]
mov esi, eax
test esi, esi
jne 0x40b778
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x714
je 0x40b759
cmp eax, 0x715
je 0x40b759
lea edx, [ebp - 0x30]
push 0x4b06d0
push edx
mov dword [ebp - 0x30], eax
call fcn.0041e909
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 0x40b7a5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push 0x4b06d0
push eax
call fcn.0041e909
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
test esi, esi
jne 0x40b7c9
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x38]
push 0x4b06d0
push ecx
mov dword [ebp - 0x38], eax
call fcn.0041e909
lea ebx, [esi + edi]
mov ecx, esi
push ebx
call fcn.0040bbb0
test eax, eax
jne 0x40b7ed
lea edx, [ebp - 0x28]
push 0x4af3d0
push edx
mov dword [ebp - 0x28], 0xffffffff
call fcn.0041e909
push ebx
mov ecx, esi
call fcn.0040bb30
cmp word [esi + 2], 0xc
jb 0x40b804
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
mov dword [edx], ecx
cmp word [esi + 2], 0x10
jb 0x40b814
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
mov dword [ecx + 4], eax
push ebx
mov ecx, esi
call fcn.0040bb90
mov esi, eax
push ebx
mov ecx, esi
call fcn.0040bc50
test eax, eax
jne 0x40b83f
lea edx, [ebp - 0x2c]
push 0x4af3d0
push edx
mov dword [ebp - 0x2c], 0xffffffff
call fcn.0041e909
mov ecx, esi
call fcn.0040bc10
push 0x4be364
push eax
call fcn.0041eadb
add esp, 8
test eax, eax
jne 0x40baac
push ebx
mov ecx, esi
call fcn.0040bc20
mov esi, eax
push ebx
mov ecx, esi
call fcn.0040bce0
test eax, eax
jne 0x40b887
lea eax, [ebp - 0x34]
push 0x4af3d0
push eax
mov dword [ebp - 0x34], 0xffffffff
call fcn.0041e909
push ebx
mov ecx, esi
call fcn.0040bcb0
mov edi, eax
push ebx
mov ecx, edi
call fcn.0040bdb0
test eax, eax
jne 0x40b8b2
lea ecx, [ebp - 0x3c]
push 0x4af3d0
push ecx
mov dword [ebp - 0x3c], 0xffffffff
call fcn.0041e909
xor eax, eax
mov ax, word [esi]
mov dword [ebp + 8], eax
test eax, eax
jle 0x40baac
push ebx
mov ecx, edi
call fcn.0040bdb0
test eax, eax
je 0x40baac
push ebx
mov ecx, edi
call fcn.0040bd70
and eax, 0xffff
mov ecx, edi
mov esi, eax
call fcn.0040bd30
push str.CompanyName
push eax
call fcn.0041eadb
add esp, 8
test eax, eax
jne 0x40b921
test esi, esi
jbe 0x40b921
cmp esi, 0x50
jb 0x40b908
mov esi, 0x4f
push ebx
mov ecx, edi
call fcn.0040bd40
mov edx, dword [ebp + 0xc]
push esi
add edx, 0x288
push eax
push edx
jmp 0x40ba51
mov ecx, edi
call fcn.0040bd30
push 0x4be32c
push eax
call fcn.0041eadb
add esp, 8
test eax, eax
jne 0x40b95e
test esi, esi
jbe 0x40b95e
cmp esi, 0x50
jb 0x40b948
mov esi, 0x4f
push ebx
mov ecx, edi
call fcn.0040bd40
push esi
push eax
mov eax, dword [ebp + 0xc]
add eax, 8
push eax
jmp 0x40ba51
mov ecx, edi
call fcn.0040bd30
push 0x4be310
push eax
call fcn.0041eadb
add esp, 8
test eax, eax
jne 0x40b99d
test esi, esi
jbe 0x40b99d
cmp esi, 0x50
jb 0x40b985
mov esi, 0x4f
push ebx
mov ecx, edi
call fcn.0040bd40
mov ecx, dword [ebp + 0xc]
push esi
push eax
add ecx, 0x148
jmp 0x40ba50
mov ecx, edi
call fcn.0040bd30
push str.LegalCopyright
push eax
call fcn.0041eadb
add esp, 8
test eax, eax
jne 0x40b9da
test esi, esi
jbe 0x40b9da
cmp esi, 0x50
jb 0x40b9c4
mov esi, 0x4f
push ebx
mov ecx, edi
call fcn.0040bd40
mov edx, dword [ebp + 0xc]
push esi
add edx, 0x328
push eax
push edx
jmp 0x40ba51
mov ecx, edi
call fcn.0040bd30
push 0x4be2cc
push eax
call fcn.0041eadb
add esp, 8
test eax, eax
jne 0x40ba16
test esi, esi
jbe 0x40ba16
cmp esi, 0x50
jb 0x40ba01
mov esi, 0x4f
push ebx
mov ecx, edi
call fcn.0040bd40
push esi
push eax
mov eax, dword [ebp + 0xc]
add eax, 0xa8
push eax
jmp 0x40ba51
mov ecx, edi
call fcn.0040bd30
push 0x4be2b4
push eax
call fcn.0041eadb
add esp, 8
test eax, eax
jne 0x40ba59
test esi, esi
jbe 0x40ba59
cmp esi, 0x50
jb 0x40ba3d
mov esi, 0x4f
push ebx
mov ecx, edi
call fcn.0040bd40
mov ecx, dword [ebp + 0xc]
push esi
push eax
add ecx, 0x1e8
push ecx
call fcn.0041edd1
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.0040bda0
mov edi, eax
mov eax, dword [ebp + 8]
jmp 0x40b8ba
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x40baba
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