Function at 0x40b3f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5d022e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xac4
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetMenu]
push eax
call fcn.005b5750
mov ecx, dword [eax + 4]
mov esi, dword [sym.imp.USER32.dll_GetSubMenu]
push 2
push ecx
call esi
push eax
call fcn.005b5750
mov edx, dword [eax + 4]
xor ebx, ebx
push ebx
push edx
mov dword [esp + 0x88], eax
call esi
push eax
call fcn.005b5750
mov ebp, eax
cmp ebp, ebx
mov dword [esp + 0x38], ebp
je 0x40bd76
mov eax, dword [ebp + 4]
mov esi, dword [sym.imp.USER32.dll_DeleteMenu]
push 0x400
push ebx
push eax
call esi
cmp eax, ebx
je 0x40b47f
mov ecx, dword [ebp + 4]
push 0x400
push ebx
push ecx
call esi
cmp eax, ebx
jne 0x40b46f
mov edx, dword [0x87a768]
mov dword [esp + 0x34], edx
mov dword [esp + 0xadc], ebx
call fcn.00596b38
lea esi, [eax + 0x1c]
mov ecx, eax
push esi
push 0x17d4
call fcn.00403e80
test eax, eax
je 0x40b4ed
push 1
mov ecx, esi
call fcn.005b4ba6
cmp eax, ebx
je 0x40b4ed
call fcn.00596b38
lea esi, [eax + 0x1c]
mov ecx, eax
push esi
push 0x17d4
call fcn.00403e80
test eax, eax
je 0x40b4da
push 1
mov ecx, esi
call fcn.005b4ba6
jmp 0x40b4dc
xor eax, eax
push eax
mov eax, dword [ebp + 4]
push 0x17d4
push ebx
push eax
call dword [sym.imp.USER32.dll_AppendMenuW]
mov eax, dword [edi + 0x4921]
lea ebp, [edi + 0x491d]
cmp eax, ebx
mov dword [esp + 0x3c], ebp
je 0x40b52d
mov eax, dword [ebp + 8]
xor edi, edi
cmp eax, ebx
jbe 0x40b52d
mov ecx, dword [ebp + 4]
mov esi, dword [ecx + edi*4]
cmp esi, ebx
je 0x40b525
lea edx, [esi + 0xc]
push 1
push edx
call fcn.005ad1bb
mov esi, dword [esi]
cmp esi, ebx
jne 0x40b514
mov eax, dword [ebp + 8]
inc edi
cmp edi, eax
jb 0x40b50a
mov eax, dword [ebp + 4]
push eax
call fcn.005b44c3
mov ecx, dword [ebp + 0x14]
add esp, 4
mov dword [ebp + 4], ebx
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x10], ebx
call fcn.005af0e0
lea ecx, [esp + 0x44]
mov dword [ebp + 0x14], ebx
mov dword [esp + 0x30], 0x17d5
call fcn.0041b1a0
lea ecx, [esp + 0x50]
mov byte [esp + 0xadc], 1
call fcn.0041b1a0
lea ecx, [esp + 0x5c]
mov byte [esp + 0xadc], 2
call fcn.0041b1a0
lea ecx, [esp + 0x68]
mov byte [esp + 0xadc], 3
call fcn.0041b1a0
lea ecx, [esp + 0x74]
mov byte [esp + 0xadc], 4
call fcn.0041b1a0
push 0x87f5fc
lea ecx, [esp + 0x44]
mov byte [esp + 0xae0], 5
call fcn.00401750
push 0x20
lea ecx, [esp + 0x1c]
mov byte [esp + 0xae0], 6
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
call fcn.00401510
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ebx
push 0x623528
lea ecx, [esp + 0x1c]
mov byte [esp + 0xae0], 7
mov word [eax], bx
call fcn.00401610
mov eax, dword [esp + 0x40]
mov esi, 1
cmp eax, esi
je 0x40b61e
push 0x5c
lea ecx, [esp + 0x6c]
call fcn.00405b40
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x6c]
call fcn.004018e0
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], ebx
push 0x623544
lea ecx, [esp + 0x1c]
mov word [edx], bx
call fcn.00401610
cmp dword [esp + 0x20], ebx
je 0x40b67b
lea eax, [esp + 0x18]
lea ecx, [esp + 0x50]
push eax
mov dword [esp + 0x44], esi
call fcn.00405c40
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x64], ebx
push 0x2e
mov word [ecx], bx
lea ecx, [esp + 0x54]
call fcn.004015e0
cmp eax, ebx
jle 0x40b695
lea edx, [esp + 0x5c]
inc eax
push edx
push eax
lea ecx, [esp + 0x58]
call fcn.00401350
jmp 0x40b695
mov eax, dword [esp + 0x50]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x58], ebx
mov word [eax], bx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x64], ebx
mov word [ecx], bx
lea ecx, [esp + 0xb4]
call fcn.0052f0e0
lea edx, [esp + 0x44]
lea ecx, [esp + 0x74]
push edx
mov byte [esp + 0xae0], 8
call fcn.00405c40
push 0x3a
lea ecx, [esp + 0x78]
call fcn.00405b40
lea eax, [esp + 0x68]
lea ecx, [esp + 0x74]
push eax
call fcn.004018e0
mov ecx, dword [esp + 0x50]
cmp word [ecx], bx
je 0x40b6f2
push 0x5c
lea ecx, [esp + 0x78]
call fcn.00405b40
lea edx, [esp + 0x50]
lea ecx, [esp + 0x74]
push edx
call fcn.004018e0
mov eax, dword [esp + 0x74]
push ebx
push eax
lea ecx, [esp + 0xbc]
call fcn.0052f1a5
cmp eax, ebx
je 0x40bc77
lea ecx, [esp + 0xb4]
call fcn.0052f3cb
lea ecx, [esp + 0xd0]
mov dword [esp + 0x88], eax
call fcn.0041b6e0
lea ecx, [esp + 0xfc]
mov byte [esp + 0xadc], 9
call fcn.00419f90
push str.UTF_8
lea ecx, [esp + 0x100]
mov byte [esp + 0xae0], 0xa
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xfc], ebx
call fcn.0041a280
lea ecx, [esp + 0x10]
mov byte [esp + 0xadc], 0xb
call fcn.0053de30
lea ecx, [esp + 0x84]
mov byte [esp + 0xadc], 0xc
push ecx
lea ecx, [esp + 0xb8]
call fcn.0052f49a
push 0x637cb8
push 1
mov ecx, eax
mov byte [esp + 0xae4], 0xd
call fcn.005b4ba6
push eax
lea ecx, [esp + 0x18]
call fcn.0053de50
lea ecx, [esp + 0x84]
mov esi, eax
mov byte [esp + 0xadc], 0xc
call fcn.005b4761
cmp esi, ebx
je 0x40bc45
lea ecx, [esp + 0x10]
call fcn.0053df80
mov ebp, eax
push ebp
call fcn.005b449a
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x40bd8f
push ebp
push edi
lea ecx, [esp + 0x18]
call fcn.0053dfb0
cmp ebp, 4
jb 0x40b8a6
lea ecx, [esp + 0xd0]
call fcn.0041ba00
push 0x64
lea ecx, [esp + 0xac]
call fcn.0041c320
lea edx, [esp + 0xd0]
lea ecx, [esp + 0xa8]
push edx
mov byte [esp + 0xae0], 0x14
call fcn.0041c350
mov ax, word [edi]
xor esi, esi
and eax, 0xfefe
cmp eax, 0xfefe
jne 0x40b851
mov esi, 2
jmp 0x40b867
cmp byte [edi], 0xef
jne 0x40b867
cmp byte [edi + 1], 0xbb
jne 0x40b867
cmp byte [edi + 2], 0xbf
jne 0x40b867
mov esi, 3
cmp esi, ebp
jae 0x40b88e
mov edx, ebp
lea ecx, [esp + 0xa8]
sub edx, esi
push ecx
lea eax, [esi + edi]
push edx
push eax
lea ecx, [esp + 0xdc]
call fcn.0041bbd0
add esi, eax
cmp esi, ebp
jb 0x40b86b
mov ecx, dword [esp + 0xb0]
mov byte [esp + 0xadc], 0xc
push ecx
call fcn.005b44c3
add esp, 4
push edi
call fcn.005b44c3
add esp, 4
lea ecx, [esp + 0x10]
call fcn.0053df20
push 0x20
lea ecx, [esp + 0x28]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], ebx
call fcn.0041b410
mov edx, dword [esp + 0x24]
mov dword [esp + 0x2c], ebx
push str.Language
lea ecx, [esp + 0x28]
mov byte [esp + 0xae0], 0x15
mov byte [edx], bl
call fcn.0041b5c0
mov ecx, dword [esp + 0xf4]
cmp ecx, ebx
je 0x40bc30
call fcn.0049c460
mov edi, eax
cmp edi, ebx
je 0x40bc30
mov eax, dword [esp + 0x24]
mov ecx, edi
push eax
call fcn.0041cee0
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x8c], eax
jne 0x40b93f
mov ecx, dword [esp + 0xf4]
push edi
call fcn.0056eda0
mov edi, eax
cmp edi, ebx
jne 0x40b90d
jmp 0x40bc30
cmp edi, ebx
je 0x40bc30
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ebx
push str.value
mov byte [ecx], bl
lea ecx, [esp + 0x28]
call fcn.0041b5c0
mov ecx, dword [edi + 0x20]
cmp ecx, ebx
je 0x40ba9c
lea edx, [esp + 0x24]
push edx
call fcn.0041b8d0
cmp eax, ebx
je 0x40ba9c
mov ecx, dword [edi + 0x20]
cmp ecx, ebx
je 0x40be67
lea eax, [esp + 0x24]
push eax
call fcn.0041b960
mov eax, dword [eax]
lea ecx, [esp + 0x2d4]
mov dx, word [eax]
and edx, 0xfefe
cmp edx, 0xfefe
jne 0x40b9ae
add eax, 2
lea edx, [esp + 0x2d4]
test edx, edx
je 0x40ba2b
mov dl, byte [eax]
cmp dl, bl
je 0x40ba26
test dl, 0x80
jne 0x40b9d1
movsx dx, dl
mov word [ecx], dx
add ecx, 2
inc eax
jmp 0x40ba20
mov si, word [eax]
and esi, 0xc0e0
cmp esi, 0x80c0
jne 0x40b9f1
and dl, 0x1f
movsx dx, dl
shl edx, 6
mov word [ecx], dx
jmp 0x40ba0e
and dl, 0xf
movsx dx, dl
shl edx, 0xc
inc eax
mov word [ecx], dx
mov dl, byte [eax]
and dl, 0x3f
movsx dx, dl
shl edx, 6
add word [ecx], dx
mov dl, byte [eax + 1]
inc eax
and dl, 0x3f
movsx dx, dl
add word [ecx], dx
inc eax
add ecx, 2
mov dl, byte [eax]
cmp dl, bl
jne 0x40b9bf
mov word [ecx], bx
jmp 0x40ba58
mov cl, byte [eax]
cmp cl, bl
je 0x40ba58
test cl, 0x80
jne 0x40ba39
inc eax
jmp 0x40ba52
mov cx, word [eax]
and ecx, 0xc0e0
cmp ecx, 0x80c0
jne 0x40ba4f
add eax, 2
jmp 0x40ba52
add eax, 3
mov cl, byte [eax]
cmp cl, bl
jne 0x40ba31
push ecx
lea ecx, [esp + 0xb8]
mov edx, esp
mov dword [esp + 0x90], esp
push edx
call fcn.0052f49a
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x40]
push esi
call fcn.0041ae40
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x2d4]
mov eax, esi
push ecx
push eax
mov eax, dword [edx + 4]
inc esi
push ebx
push eax
mov dword [esp + 0x40], esi
call dword [sym.imp.USER32.dll_AppendMenuW]
mov ecx, dword [edi + 0x24]
cmp ecx, ebx
je 0x40bc30
call fcn.0049c460
mov esi, eax
cmp esi, ebx
je 0x40bc30
push 0x637ca8
lea ecx, [esp + 0x10c]
call fcn.00419f00
push str.value
lea ecx, [esp + 0xa0]
mov byte [esp + 0xae0], 0x16
call fcn.00419f00
lea ecx, [esp + 0x90]
mov byte [esp + 0xadc], 0x17
call fcn.00419f90
lea ecx, [esp + 0x108]
mov byte [esp + 0xadc], 0x18
push ecx
mov ecx, esi
call fcn.0041a3b0
test eax, eax
je 0x40bb3e
lea edx, [esp + 0x9c]
mov ecx, esi
push edx
call fcn.0041a3b0
test eax, eax
je 0x40bb3e
lea eax, [esp + 0x9c]
mov ecx, esi
push eax
call fcn.0041a450
push eax
lea ecx, [esp + 0x94]
call fcn.0041a180
push ebx
lea ecx, [esp + 0x94]
mov esi, 0x87f63c
call fcn.00419fe0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40bb74
cmp cl, bl
je 0x40bb70
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40bb74
add eax, 2
add esi, 2
cmp cl, bl
jne 0x40bb50
xor eax, eax
jmp 0x40bb79
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40bbee
mov eax, dword [esp + 0x30]
mov ecx, dword [0x87a768]
dec eax
mov dword [esp + 0x14], ecx
mov dword [0x87f5b4], eax
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x14]
push edx
push eax
mov byte [esp + 0xae4], 0x19
call fcn.00403e80
mov ecx, 0x100
xor eax, eax
mov edi, 0x87fa3c
push ebx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
push ebx
push 0x400
push 0x87fa3c
mov eax, dword [eax - 8]
lea ecx, [esp + 0x24]
push eax
push eax
call fcn.005b4ba6
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea ecx, [esp + 0x14]
mov byte [esp + 0xadc], 0x18
call fcn.005b4761
mov ecx, dword [esp + 0x90]
mov byte [esp + 0xadc], 0x17
push ecx
call fcn.005b44c3
mov edx, dword [esp + 0xa0]
mov byte [esp + 0xae0], 0x16
push edx
call fcn.005b44c3
mov eax, dword [esp + 0x110]
mov byte [esp + 0xae4], 0x15
push eax
call fcn.005b44c3
add esp, 0xc
mov ecx, dword [esp + 0x24]
mov byte [esp + 0xadc], 0xc
push ecx
call fcn.005b44c3
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0xadc], 0xb
call fcn.0053de40
lea ecx, [esp + 0xd0]
mov byte [esp + 0xadc], 8
call fcn.0041a520
cmp dword [esp + 0x88], ebx
jne 0x40b70c
mov esi, dword [esp + 0x38]
push ebx
push ebx
push 0x800
mov ecx, esi
call fcn.0040bf80
push 0x1779
call fcn.00596b38
mov ecx, eax
call fcn.004057e0
push eax
push 0x1779
push ebx
mov ecx, esi
call fcn.0040bf80
push 0x177a
call fcn.00596b38
mov ecx, eax
call fcn.004057e0
push eax
push 0x177a
push ebx
mov ecx, esi
call fcn.0040bf80
lea ecx, [esp + 0xb4]
call fcn.0052f15b
mov ecx, 0xb
xor eax, eax
lea edi, [esp + 0x114]
lea edx, [esp + 0x114]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x20c]
push 1
mov dword [esp + 0x13c], ecx
mov ecx, dword [esp + 0x84]
push edx
push ebx
mov dword [esp + 0x120], 0x2c
mov dword [esp + 0x124], 0x40
mov dword [esp + 0x148], 0x64
call fcn.0040bfa0
lea ecx, [esp + 0xb4]
mov byte [esp + 0xadc], 7
call fcn.0052f11f
mov eax, dword [esp + 0x18]
mov byte [esp + 0xadc], 6
push eax
call fcn.005b44c3
add esp, 4
lea ecx, [esp + 0x40]
mov byte [esp + 0xadc], bl
call fcn.004012d0
lea ecx, [esp + 0x34]
mov dword [esp + 0xadc], 0xffffffff
call fcn.005b4761
mov ecx, dword [esp + 0xad4]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xad0
ret
lea ecx, [esp + 0x10]
mov byte [esp + 0xadc], 0xb
call fcn.0053de40
lea ecx, [esp + 0xd0]
mov byte [esp + 0xadc], 0xf
call fcn.0041ba00
mov edx, dword [esp + 0xfc]
mov byte [esp + 0xadc], 0xe
push edx
call fcn.005b44c3
add esp, 4
lea ecx, [esp + 0xd0]
mov byte [esp + 0xadc], 8
call fcn.0041b790
lea ecx, [esp + 0xb4]
mov byte [esp + 0xadc], 7
call fcn.0052f11f
mov eax, dword [esp + 0x18]
mov byte [esp + 0xadc], 6
push eax
call fcn.005b44c3
mov ecx, dword [esp + 0x78]
mov byte [esp + 0xae0], 0x13
push ecx
call fcn.005b44c3
mov edx, dword [esp + 0x70]
mov byte [esp + 0xae4], 0x12
push edx
call fcn.005b44c3
mov eax, dword [esp + 0x68]
mov byte [esp + 0xae8], 0x11
push eax
call fcn.005b44c3
mov ecx, dword [esp + 0x60]
mov byte [esp + 0xaec], 0x10
push ecx
call fcn.005b44c3
mov edx, dword [esp + 0x58]
mov byte [esp + 0xaf0], bl
push edx
call fcn.005b44c3
add esp, 0x18
jmp 0x40bd62
push str.SXmlElem::PickupAttr_error:_No_attribute.
lea ecx, [esp + 0x144]
call fcn.0040bed0
lea eax, [esp + 0x140]
push 0x5ff2d8
push eax
call fcn.005300db
nop
nop
nop
nop
nop
nop
push esi
push edi
mov edi, dword [esp + 0xc]
mov eax, ecx
xor ecx, ecx
sub edi, eax
mov dword [eax], 0x5e80c8
lea edx, [eax + 4]
mov si, word [edi + edx]
test si, si
mov word [edx], si
je 0x40beba
inc ecx
add edx, 2
cmp ecx, 0x64
jb 0x40bea5
pop edi
mov word [eax + 0xca], 0
mov dword [eax], 0x5e867c
pop esi
ret 4