Function at 0x407da0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0xffffffffffffffff
push 0x44c917
mov eax, dword fs:[0]
push eax
sub esp, 0x558
mov eax, dword [0x466720]
xor eax, esp
mov dword [esp + 0x550], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x466720]
xor eax, esp
push eax
lea eax, [esp + 0x56c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x57c]
xor ebx, ebx
push 0x3e6
mov esi, ecx
lea ecx, [esp + 0x182]
push ebx
push ecx
mov dword [esp + 0x2c], eax
mov word [esp + 0x188], bx
call fcn.00431f40
add esp, 0xc
lea ecx, [esp + 0x24]
call fcn.00446920
push 0x459af4
push str.MENUDATA
push esi
mov dword [esp + 0x580], ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
cmp edi, ebx
jne 0x407e66
mov dword [esp + 0x574], 0xffffffff
mov eax, dword [esp + 0x58]
cmp eax, 0x46d880
mov dword [esp + 0x24], vtable.TiXmlDocument.0
je 0x407e56
push eax
call fcn.0040f819
add esp, 4
lea ecx, [esp + 0x24]
call fcn.004465b0
xor eax, eax
jmp 0x4080ab
push edi
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push edi
push esi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
lea ebp, [edi + 1]
push ebp
call fcn.0040f81e
add esp, 4
push ebp
xor ebp, ebp
mov esi, eax
push ebp
push esi
call fcn.00431f40
add esp, 0xc
push edi
push ebx
push esi
call fcn.00430060
add esp, 0xc
push ebp
push ebp
push esi
lea ecx, [esp + 0x30]
call fcn.00448c10
push str.TheAppMenu
lea ecx, [esp + 0x28]
call fcn.00445eb0
mov esi, eax
cmp esi, ebp
je 0x407e2f
push 0x103
lea edx, [esp + 0x79]
push ebp
push edx
mov byte [esp + 0x80], 0
call fcn.00431f40
add esp, 0xc
mov ecx, esi
call fcn.00445f50
mov ebx, eax
cmp ebx, ebp
je 0x408076
push 0x20
call fcn.0040f7ee
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebp
mov byte [esp + 0x574], 1
je 0x407f1b
push eax
call fcn.00409d80
mov esi, eax
jmp 0x407f1d
xor esi, esi
mov byte [esp + 0x574], 0
push 0xc
mov dword [esp + 0x20], esi
call fcn.0040f7ee
add esp, 4
cmp eax, ebp
je 0x407f47
mov dword [eax], vtable.CMultiMenu.0
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov edi, eax
jmp 0x407f49
xor edi, edi
push 0x10
call fcn.0040f7ee
add esp, 4
cmp eax, ebp
je 0x407f62
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
jmp 0x407f64
xor eax, eax
mov byte [esp + 0x574], 0
mov edx, dword [edi]
push eax
mov eax, dword [edx + 4]
mov ecx, edi
call eax
mov dword [esi + 0x1c], edi
mov eax, dword [ebx + 0x20]
add eax, 8
je 0x408076
lea edx, [esp + 0x74]
sub edx, eax
jmp 0x407f90
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x407f90
lea ecx, [esp + 0x74]
push ecx
call fcn.0044a28a
add esp, 4
push ebp
push ebp
push 0xffffffffffffffff
lea edx, [esp + 0x80]
push edx
push ebp
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
lea eax, [esp + 0x180]
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0x80]
push ecx
push ebp
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push edi
mov edi, dword [esp + 0x24]
push ebx
mov ecx, edi
call fcn.004080e0
lea eax, [esp + 0x17c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x407ff7
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x180]
push edx
call fcn.004011a0
mov ecx, ebx
call fcn.00445fc0
mov edi, dword [edi]
mov ebx, eax
mov eax, dword [edi + 4]
cmp eax, ebp
jne 0x40802a
xor edx, edx
jmp 0x408032
mov edx, dword [edi + 8]
sub edx, eax
sar edx, 2
cmp eax, ebp
je 0x40804f
mov ecx, dword [edi + 0xc]
sub ecx, eax
sar ecx, 2
cmp edx, ecx
jae 0x40804f
mov eax, dword [edi + 8]
mov dword [eax], esi
add eax, 4
mov dword [edi + 8], eax
jmp 0x40806e
mov esi, dword [edi + 8]
cmp eax, esi
jbe 0x40805b
call fcn.00430050
push esi
push edi
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x78]
push ecx
mov eax, edi
call fcn.0040a100
cmp ebx, ebp
jne 0x407ef7
mov dword [esp + 0x574], 0xffffffff
mov eax, dword [esp + 0x58]
cmp eax, 0x46d880
mov dword [esp + 0x24], vtable.TiXmlDocument.0
je 0x40809d
push eax
call fcn.0040f819
add esp, 4
lea ecx, [esp + 0x24]
call fcn.004465b0
mov eax, 1
mov ecx, dword [esp + 0x56c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x550]
xor ecx, esp
call fcn.0042f8e0
add esp, 0x564
ret 4