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

Disassembly:
sub esp, 0x970
mov eax, dword [esp + 0x988]
push ebx
push ebp
push esi
test eax, eax
push edi
mov ebp, ecx
mov dword [esp + 0x10], 1
jne 0x46392e
mov eax, dword [esp + 0x988]
mov edi, dword [esp + 0x994]
mov ebx, dword [esp + 0x990]
mov esi, dword [esp + 0x98c]
cmp eax, 6
jne 0x461f46
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
push eax
push ebx
push esi
push 6
call fcn.00479de0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x461faa
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x11
jne 0x461f7e
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 1
push ecx
push ebx
push esi
push eax
mov ecx, ebp
call fcn.00479dc0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x461faa
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0xcb2
jne 0x461fb1
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
push eax
mov dword [esp + 0x20], 1
call fcn.00466b00
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x46391c
mov eax, dword [esp + 0x988]
cmp eax, dword [0x55aa54]
jne 0x461fec
mov ecx, dword [esp + 0x988]
lea eax, [esp + 0x10]
push eax
push ebx
push esi
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.0046b900
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x46391c
mov eax, dword [esp + 0x988]
cmp eax, 0x4a
jne 0x46200d
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
push eax
mov dword [esp + 0x20], 1
call fcn.0046b950
jmp 0x4628da
cmp eax, 0x31a
jne 0x462034
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
push ebx
push esi
push 0x31a
mov dword [esp + 0x20], 1
call fcn.00482320
jmp 0x4628da
cmp eax, 0x407
jne 0x462057
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 1
push ecx
push ebx
push esi
push eax
mov ecx, ebp
call fcn.004363b0
jmp 0x4628da
cmp eax, 0x111
jne 0x462857
cmp si, 0xb798
jb 0x46209a
cmp si, 0xbb80
ja 0x46209a
lea edx, [esp + 0x10]
mov eax, esi
push edx
push ebx
shr eax, 0x10
push esi
push eax
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00477e00
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x46391c
cmp si, 0xe141
jne 0x4620c6
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0xe141
push edx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.0046a300
jmp 0x462686
cmp si, 0xe100
jne 0x4620f2
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0xe100
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.0046a760
jmp 0x462686
cmp si, 0xe103
jne 0x46211e
lea edx, [esp + 0x10]
mov eax, esi
push edx
push ebx
shr eax, 0x10
push 0xe103
push eax
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.0046a920
jmp 0x462686
cmp si, 0x8034
jne 0x46214a
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0x8034
push edx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.0046a920
jmp 0x462686
cmp si, 0xe101
jne 0x462176
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0xe101
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.0046b610
jmp 0x462686
cmp si, 0xb322
jne 0x4621a2
lea edx, [esp + 0x10]
mov eax, esi
push edx
push ebx
shr eax, 0x10
push 0xb322
push eax
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.0046a580
jmp 0x462686
cmp si, 0xbd75
jne 0x4621ce
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0xbd75
push edx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.0046a580
jmp 0x462686
cmp si, 0xbd77
jne 0x4621fa
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0xbd77
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.0046a580
jmp 0x462686
cmp si, 0xe800
jne 0x462226
lea edx, [esp + 0x10]
mov eax, esi
push edx
push ebx
shr eax, 0x10
push 0xe800
push eax
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.0045edd0
jmp 0x462686
cmp si, 0xe801
jne 0x462252
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0xe801
push edx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471200
jmp 0x462686
cmp si, 0xe140
jne 0x46227e
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0xe140
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0xb3ae
jne 0x4622aa
lea edx, [esp + 0x10]
mov eax, esi
push edx
push ebx
shr eax, 0x10
push 0xb3ae
push eax
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0xb253
jne 0x4622d6
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0xb253
push edx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0x800e
jne 0x462302
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0x800e
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0x808f
jne 0x46232e
lea edx, [esp + 0x10]
mov eax, esi
push edx
push ebx
shr eax, 0x10
push 0x808f
push eax
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0x800d
jne 0x46235a
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0x800d
push edx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0x800c
jne 0x462386
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0x800c
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0x800f
jne 0x4623b2
lea edx, [esp + 0x10]
mov eax, esi
push edx
push ebx
shr eax, 0x10
push 0x800f
push eax
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0x852c
jne 0x4623de
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0x852c
push edx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0x8593
jne 0x46240a
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0x8593
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0xe146
jne 0x462436
lea edx, [esp + 0x10]
mov eax, esi
push edx
push ebx
shr eax, 0x10
push 0xe146
push eax
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0x802f
jne 0x462462
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0x802f
push edx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0xa770
jne 0x46248e
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0xa770
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00477650
jmp 0x462686
cmp si, 0x85b2
jne 0x4624ba
lea edx, [esp + 0x10]
mov eax, esi
push edx
push ebx
shr eax, 0x10
push 0x85b2
push eax
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.004716e0
jmp 0x462686
cmp si, 0x8030
jne 0x4624e6
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0x8030
push edx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0x8031
jne 0x462512
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0x8031
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0x8032
jne 0x46253e
lea edx, [esp + 0x10]
mov eax, esi
push edx
push ebx
shr eax, 0x10
push 0x8032
push eax
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00471720
jmp 0x462686
cmp si, 0x8045
jne 0x46256a
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0x8045
push edx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.004714e0
jmp 0x462686
cmp si, 0x8046
jne 0x462596
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0x8046
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.004714e0
jmp 0x462686
cmp si, 0x806c
jne 0x4625b5
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 1
push edx
push ebx
push 0x806c
jmp 0x462679
cmp si, 0x806d
jne 0x4625da
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0x806d
mov dword [esp + 0x1c], 1
push edx
jmp 0x46267f
cmp si, 0x806b
jne 0x4625ff
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0x806b
mov dword [esp + 0x1c], 1
push ecx
jmp 0x46267f
cmp si, 0x806a
jne 0x46261b
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 1
push edx
push ebx
push 0x806a
jmp 0x462679
cmp si, 0x413
jne 0x46263d
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0x413
mov dword [esp + 0x1c], 1
push edx
jmp 0x46267f
cmp si, 0x415
jne 0x46265f
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0x415
mov dword [esp + 0x1c], 1
push ecx
jmp 0x46267f
cmp si, 0x414
jne 0x4626a6
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 1
push edx
push ebx
push 0x414
mov eax, esi
shr eax, 0x10
push eax
mov ecx, ebp
call fcn.0047e420
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x462974
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp si, 0x80c0
jb 0x4626de
cmp si, 0x80cc
ja 0x4626de
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push esi
push edx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00476cf0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x46391c
cmp si, 0x1388
jb 0x462716
cmp si, 0x2328
ja 0x462716
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push esi
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00476e00
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x46391c
cmp si, 0x8019
jb 0x46274e
cmp si, 0x802c
ja 0x46274e
lea edx, [esp + 0x10]
mov eax, esi
push edx
push ebx
shr eax, 0x10
push esi
push eax
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.004776c0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x46391c
cmp si, 0x8504
jne 0x462795
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0x8504
push edx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.004776c0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x462974
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp si, 0x848a
jb 0x4627cd
cmp si, 0x8491
ja 0x4627cd
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push esi
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00477610
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x46391c
cmp si, 0x8041
jb 0x462805
cmp si, 0x8044
ja 0x462805
lea edx, [esp + 0x10]
mov eax, esi
push edx
push ebx
shr eax, 0x10
push esi
push eax
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.004796d0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x46391c
cmp si, 0x8497
jb 0x462974
cmp si, 0x84a2
ja 0x462974
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push esi
push edx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.004790a0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x462974
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x120
jne 0x462874
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
push eax
push ebx
push esi
push 0x120
jmp 0x4628d3
cmp eax, 0x2c
jne 0x46288b
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 1
push ecx
push ebx
push esi
push eax
jmp 0x4628d3
cmp eax, 0x11f
jne 0x4628a4
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 1
push edx
push ebx
push esi
push eax
jmp 0x4628d3
cmp eax, 0x2b
jne 0x4628bc
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
push eax
push ebx
push esi
push 0x2b
jmp 0x4628d3
cmp eax, 0x117
jne 0x4628fa
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 1
push ecx
push ebx
push esi
push eax
mov ecx, ebp
call fcn.004657e0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4629d7
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x4e
jne 0x462936
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
push eax
mov dword [esp + 0x20], 1
call fcn.0046a320
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4629d7
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x233
jne 0x4629ab
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
push ebx
push esi
push 0x233
mov dword [esp + 0x20], 1
call fcn.004c3970
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4629d7
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 1
push ecx
push ebx
push esi
push 0x111
mov ecx, ebp
call fcn.0046c4e0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4629d7
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x8064
jne 0x4629de
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
push eax
mov dword [esp + 0x20], 1
call fcn.004724e0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x46391c
mov eax, dword [esp + 0x988]
cmp eax, dword [0x55aa58]
jne 0x462a19
mov ecx, dword [esp + 0x988]
lea eax, [esp + 0x10]
push eax
push ebx
push esi
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00472dc0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x46391c
mov eax, dword [esp + 0x988]
cmp eax, 2
jne 0x462a55
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
push eax
mov dword [esp + 0x20], 1
call fcn.00464db0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x462b72
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x10
jne 0x462a92
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
push ebx
push esi
push 0x10
mov dword [esp + 0x20], 1
call fcn.004656f0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x462b72
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x4e
jne 0x462b0a
cmp dword [ebx + 8], 0xfffffdee
jne 0x462acb
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 1
push ecx
push ebx
push esi
mov ecx, ebp
call fcn.00480060
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x46391c
mov eax, dword [esp + 0x988]
cmp dword [ebx + 8], 0xfffffd3a
jne 0x462b79
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
mov dword [esp + 0x1c], 1
call fcn.00474ee0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x462b72
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x112
jne 0x462b48
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
push ebx
push esi
push 0x112
mov dword [esp + 0x20], 1
call fcn.00466310
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x462b72
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x20
jne 0x462b79
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 1
push ecx
push ebx
push esi
push eax
mov ecx, ebp
call fcn.004c3970
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x46391c
mov eax, dword [esp + 0x988]
cmp eax, 0x117
jne 0x462d5c
test esi, esi
jne 0x462b92
mov eax, 1
jmp 0x462d1f
mov edx, dword [ebp + 0x4c]
test edx, edx
mov dword [esp + 0x18], edx
jne 0x462ba7
mov eax, 1
jmp 0x462d1f
mov ecx, dword [ebp + 0x48]
mov dword [esp + 0x20], ecx
mov ax, word [ecx]
cmp ax, 0xffff
je 0x462d1d
test byte [ecx + 2], 1
je 0x462d01
and eax, 0xffff
test byte [edx + 1], 0x40
mov dword [esp + 0x14], eax
je 0x462be8
push 0
push 0xffffffffffffffff
push esi
call dword [sym.imp.USER32.dll_SetMenuDefaultItem]
mov eax, dword [esp + 0x18]
and word [eax], 0xbfff
mov edx, dword [esp + 0x14]
mov ecx, 0xb
xor eax, eax
lea edi, [esp + 0x80]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x80], 0x2c
mov dword [esp + 0x84], 1
mov dword [esp + 0x90], edx
mov ax, word [eax]
test ah, 1
je 0x462c2d
or dword [esp + 0x8c], 3
test ah, 2
je 0x462c3a
or dword [esp + 0x8c], 8
test ah, 0x10
je 0x462c50
mov ecx, dword [esp + 0x8c]
or ch, 0x10
mov dword [esp + 0x8c], ecx
test ah, 0x20
je 0x462cdc
mov ecx, 0xb
xor eax, eax
lea edi, [esp + 0xcc]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xcc]
push ecx
push 0
push eax
push esi
mov dword [esp + 0xdc], 0x2c
mov dword [esp + 0xe0], 0x10
mov dword [esp + 0xec], eax
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
test eax, eax
je 0x462cdc
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
or edx, 0x10
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0xd4]
and edx, 0xfffff7fb
or eax, edx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov dword [esp + 0xa4], ecx
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x80]
push edx
push 0
push eax
push esi
call dword [sym.imp.USER32.dll_SetMenuItemInfoW]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x994]
mov edx, dword [esp + 0x18]
mov ax, word [ecx + 4]
add ecx, 4
add edx, 8
cmp ax, 0xffff
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], edx
jne 0x462bbb
xor eax, eax
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
push 0x117
mov dword [edi], eax
mov dword [esp + 0x20], 1
call fcn.004767e0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4637c4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x111
jne 0x462dfa
mov al, byte [ebp + 0x52]
mov dword [esp + 0x14], 0
test al, al
je 0x462dcf
mov ecx, esi
shr ecx, 0x10
cmp ecx, 1
jne 0x462dcf
mov edx, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x48]
mov eax, esi
and eax, 0xffff
test edx, edx
mov dword [esp + 0x24], eax
je 0x462db9
mov ax, word [ecx]
cmp ax, 0xffff
je 0x462db9
and eax, 0xffff
cmp dword [esp + 0x24], eax
je 0x462df3
mov ax, word [ecx + 4]
add ecx, 4
add edx, 8
cmp ax, 0xffff
jne 0x462d9e
xor eax, eax
and eax, 0x100
cmp eax, 0x100
jne 0x462dcf
mov dword [esp + 0x14], 1
mov eax, dword [esp + 0x14]
mov dword [edi], 0
test eax, eax
je 0x463698
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
xor eax, eax
mov ax, word [edx]
jmp 0x462dbb
cmp eax, 5
jne 0x462e18
cmp esi, 1
je 0x462e0d
push 1
mov ecx, ebp
call fcn.00472c60
mov dword [edi], 1
jmp 0x4637c4
cmp eax, 0x4e
jne 0x463398
mov eax, dword [ebx + 8]
cmp eax, 0xfffffcbe
jne 0x462e4c
push 0
mov ecx, ebp
call fcn.00472c60
mov dword [edi], 0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0xfffffcb7
jne 0x463541
mov ecx, 0x13
xor eax, eax
lea edi, [esp + 0x114]
mov dword [esp + 0x2c], 0
rep stosd dword es:[edi], eax
mov dword [esp + 0x30], ebx
mov byte [esp + 0x34], 0
mov dword [esp + 0x110], 0x50
mov dword [esp + 0x114], 0x10
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx]
lea edx, [esp + 0x110]
mov dword [esp + 0x7c], 1
push edx
push eax
push 0x41c
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x130]
push 0
push 0
push 0x418
push eax
mov dword [esp + 0x30], eax
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
mov dword [esp + 0x24], eax
jle 0x4631ff
mov edx, dword [esp + 0x20]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x52e
push edx
call edi
test eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x18], 0
setne al
mov byte [esp + 0x34], al
call dword [sym.imp.USER32.dll_CreatePopupMenu]
xor ecx, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc0], ecx
lea edx, [esp + 0xbc]
mov dword [esp + 0xc4], ecx
push edx
push eax
mov dword [esp + 0xc4], 0
mov dword [esp + 0xd0], ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], 0
test eax, eax
jle 0x4631df
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x68], ecx
lea edx, [esp + 0x64]
mov dword [esp + 0x6c], ecx
push edx
mov dword [esp + 0x74], ecx
push eax
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x28]
push 0x417
push ecx
mov dword [esp + 0x74], 0
call edi
test byte [esp + 0x6c], 8
jne 0x4631ca
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0xb0], edx
lea eax, [esp + 0xac]
mov dword [esp + 0xb4], edx
push eax
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x24]
push ecx
push 0x41d
push edx
mov dword [esp + 0xbc], 0
call edi
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xc4]
mov al, cl
shr al, 2
and al, 1
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0xb4]
cmp eax, edx
jle 0x4631ca
test ch, 1
je 0x46301f
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x4631ca
push 0
push 0
push 0x800
lea ecx, [esp + 0x24]
call fcn.004471a0
jmp 0x4631ca
mov al, byte [esp + 0x34]
test al, al
je 0x4630c4
mov ecx, 0x63
xor eax, eax
lea edi, [esp + 0x5f2]
mov word [esp + 0x5f0], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0xb
xor eax, eax
lea edi, [esp + 0xcc]
lea edx, [esp + 0x5f0]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xcc]
push eax
push 1
push ecx
lea ecx, [esp + 0x84]
mov dword [esp + 0xd8], 0x2c
mov dword [esp + 0xdc], 0x14
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], 0xc8
call fcn.00430550
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xe0]
push edx
push eax
mov al, byte [esp + 0x27]
xor ecx, ecx
test al, al
sete cl
or ecx, 0x10
jmp 0x4631ba
mov ecx, 0x63
xor eax, eax
lea edi, [esp + 0x162]
mov word [esp + 0x160], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x84]
lea edx, [esp + 0x160]
rep stosd dword es:[edi], eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x68]
lea ecx, [esp + 0x80]
lea eax, [esp + 0x160]
push ecx
push edx
push 0x43f
lea ecx, [esp + 0x2c]
mov dword [esp + 0x8c], 0x20
mov dword [esp + 0x90], 2
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], 0xc8
call fcn.004113c0
cmp eax, 0xffffffff
je 0x46315c
lea eax, [esp + 0x160]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x4631a5
mov edx, dword [esp + 0x68]
mov eax, dword [0x55e300]
lea ecx, [esp + 0x160]
push 0xc8
push ecx
push edx
push eax
mov edi, 0x553d98
call dword [sym.imp.USER32.dll_LoadStringW]
xor ecx, ecx
test eax, eax
jle 0x4631a9
lea edx, [esp + 0x160]
cmp word [edx], 0xa
je 0x46319c
inc ecx
add edx, 2
cmp ecx, eax
jl 0x46318c
jmp 0x4631a9
lea edi, [esp + ecx*2 + 0x162]
jmp 0x4631a9
mov edi, dword [esp + 0x28]
mov dl, byte [esp + 0x1f]
mov eax, dword [esp + 0x68]
xor ecx, ecx
push edi
test dl, dl
push eax
sete cl
push ecx
lea ecx, [esp + 0x24]
call fcn.004471a0
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x462f55
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jne 0x46320b
lea ecx, [esp + 0x18]
call fcn.00447180
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_MessageBeep]
xor ecx, ecx
mov eax, 1
jmp 0x463375
mov eax, dword [esp + 0x18]
push 1
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x18]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], edx
mov eax, dword [eax + 0x24]
push ecx
push 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x48], eax
call fcn.004639d0
mov edx, dword [esp + 0x30]
add edx, 0x18
mov eax, dword [edx]
mov dword [esp + 0x40], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x44], ecx
mov eax, dword [edx + 8]
mov dword [esp + 0x48], eax
mov ecx, dword [edx + 0xc]
lea edx, [esp + 0x40]
mov dword [esp + 0x4c], ecx
push edx
push 0
lea ecx, [esp + 0x2c]
call fcn.004639f0
call fcn.00463970
neg al
sbb eax, eax
mov edx, dword [esp + 0x44]
and eax, 0xfffff000
mov ecx, dword [esp + 0x40]
add eax, 0x1000
push 0
or al, 0x40
push 0
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], edx
mov edx, dword [ebp + 4]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x50]
push 0x52d
push edx
mov dword [esp + 0x60], 0x14
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
call edi
push eax
mov dword [esp + 0x2c], eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x46333a
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x104], edx
lea edx, [esp + 0xf8]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x28]
push edx
mov dword [esp + 0x104], ecx
push 0
lea ecx, [esp + 0x58]
push 0x52f
push eax
mov dword [esp + 0x108], 0x18
mov dword [esp + 0x11c], ecx
call edi
jmp 0x463363
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebp + 4]
lea edx, [esp + 0x50]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.00430590
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebp
call fcn.00484020
mov ecx, dword [esp + 0x7c]
xor eax, eax
mov edx, dword [esp + 0x994]
test ecx, ecx
mov dword [edx], eax
je 0x463541
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x14
jne 0x4633bd
mov ecx, dword [ebp + 0x28]
mov eax, 1
test ecx, ecx
je 0x4633b2
mov ecx, eax
mov dword [edi], ecx
jmp 0x463769
xor eax, eax
xor ecx, ecx
mov dword [edi], ecx
jmp 0x463769
cmp eax, 0x11f
jne 0x4634d3
mov ecx, dword [ebp + 0x24]
test ecx, ecx
je 0x4634c8
mov eax, esi
shr eax, 0x10
cmp ax, 0xffff
jne 0x4633fb
test ebx, ebx
jne 0x4633fb
push ebx
push ebx
push 0x409
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [edi], 1
jmp 0x4637c4
test al, 0x10
mov word [esp + 0x3f0], 0
jne 0x463499
cmp si, 0xf000
mov eax, esi
jb 0x463431
cmp si, 0xf1f0
jae 0x463431
and eax, 0xffff
sub eax, 0xf000
sar eax, 4
sub eax, 0x1100
jmp 0x463452
cmp si, 0xe110
jb 0x463446
cmp si, 0xe11f
ja 0x463446
mov eax, 0xefda
jmp 0x463452
cmp si, 0xff00
jb 0x463452
mov eax, 0xef1f
mov ecx, dword [0x55e300]
lea edx, [esp + 0x3f0]
push 0x100
and eax, 0xffff
push edx
push eax
push ecx
call dword [sym.imp.USER32.dll_LoadStringW]
xor ecx, ecx
test eax, eax
jle 0x463499
lea edx, [esp + 0x3f0]
cmp word [edx], 0xa
je 0x46348f
inc ecx
add edx, 2
cmp ecx, eax
jl 0x46347f
jmp 0x463499
mov word [esp + ecx*2 + 0x3f0], 0
mov eax, dword [ebp + 0x24]
push 0
push 1
push 0x409
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebp + 0x24]
lea ecx, [esp + 0x3f0]
push ecx
push 0x1ff
push 0x40b
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [edi], 1
jmp 0x4637c4
cmp eax, 7
jne 0x46350d
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x4634e6
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov dword [edi], 1
mov eax, dword [ebp + 0x28]
test eax, eax
mov dword [esp + 0x10], 1
je 0x463502
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov dword [edi], 1
jmp 0x4637c4
cmp eax, 2
jne 0x463538
mov eax, dword [ebp + 4]
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0xc0000000
jne 0x46352d
push 1
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov dword [edi], 1
jmp 0x4637c4
cmp eax, 0x4e
jne 0x46368d
mov eax, dword [ebx + 8]
cmp eax, 0xfffffdf8
jne 0x4635e7
lea edi, [ebx + 0x10]
test esi, esi
mov byte [edi], 0
je 0x46366e
test byte [ebx + 0x64], 1
jne 0x46366e
mov eax, dword [0x55e300]
lea ecx, [esp + 0x2f0]
push 0x100
push ecx
push esi
push eax
mov byte [esp + 0x300], 0
call dword [sym.imp.USER32.dll_LoadStringA]
mov esi, eax
xor eax, eax
test esi, esi
jle 0x46366e
cmp byte [esp + eax + 0x2f0], 0xa
je 0x4635a6
inc eax
cmp eax, esi
jl 0x463595
jmp 0x4635b7
lea edx, [esp + eax + 0x2f1]
push 0x50
push edx
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
test esi, esi
jle 0x46366e
mov eax, dword [ebx + 0x64]
pop edi
or ah, 0x80
pop esi
mov dword [ebx + 0x64], eax
mov eax, dword [esp + 0x98c]
pop ebp
pop ebx
mov dword [eax], 0
mov eax, 1
add esp, 0x970
ret 0x18
cmp eax, 0xfffffdee
jne 0x4637bd
lea edi, [ebx + 0x10]
test esi, esi
mov word [edi], 0
je 0x46366e
test byte [ebx + 0xb4], 1
jne 0x46366e
mov eax, dword [0x55e300]
lea ecx, [esp + 0x780]
push 0x100
push ecx
push esi
push eax
mov word [esp + 0x790], 0
call dword [sym.imp.USER32.dll_LoadStringW]
mov esi, eax
xor eax, eax
test esi, esi
jle 0x46366e
lea ecx, [esp + 0x780]
cmp word [ecx], 0xa
je 0x46364a
inc eax
add ecx, 2
cmp eax, esi
jl 0x46363a
jmp 0x46365b
lea edx, [esp + eax*2 + 0x782]
push 0x50
push edx
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
test esi, esi
jle 0x46366e
mov eax, dword [ebx + 0xb4]
or ah, 0x80
mov dword [ebx + 0xb4], eax
mov eax, dword [esp + 0x994]
pop edi
pop esi
pop ebp
mov dword [eax], 0
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x111
jne 0x46377f
cmp si, 0x805d
jne 0x4636c4
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0x805d
push edx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.0046b8a0
jmp 0x463763
cmp si, 0x802d
jne 0x4636ed
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0x802d
push ecx
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.00477690
jmp 0x463763
cmp si, 0x8012
jne 0x463716
lea edx, [esp + 0x10]
mov eax, esi
push edx
push ebx
shr eax, 0x10
push 0x8012
push eax
mov ecx, ebp
mov dword [esp + 0x20], 1
call fcn.0046b8e0
jmp 0x463763
cmp si, 0x8495
jne 0x463738
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0x8495
mov dword [esp + 0x1c], 1
push edx
jmp 0x46375c
cmp si, 0x8494
jne 0x4637c4
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0x8494
mov dword [esp + 0x1c], 1
push ecx
mov ecx, ebp
call fcn.0046c2c0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4637c4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x116
jne 0x4637c4
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
push ebx
push esi
push 0x116
mov dword [esp + 0x20], 1
call fcn.004c3970
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4637c4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
mov edi, dword [esp + 0x994]
mov edx, dword [esp + 0x988]
mov dword [esp + 0x10], 1
cmp edx, 0x4e
ja 0x463837
je 0x463833
lea eax, [edx - 0x2b]
cmp eax, 0xe
ja case.0x4637ee.48
xor ecx, ecx
mov cl, byte [eax + 0x463958]
jmp dword [ecx*4 + 0x463940]
test esi, esi
je case.0x4637ee.48
mov eax, dword [ebx + 0x14]
jmp 0x46389c
test esi, esi
je case.0x4637ee.48
mov eax, dword [ebx + 4]
mov edx, dword [ebp + 4]
push eax
push edx
jmp 0x46388f
test esi, esi
je case.0x4637ee.48
mov eax, dword [ebx + 4]
push eax
jmp 0x46388b
test esi, esi
je case.0x4637ee.48
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 4]
push eax
push ecx
jmp 0x46388f
mov eax, dword [ebx]
jmp 0x46389c
cmp edx, 0x138
ja 0x46386b
cmp edx, 0x132
jae case.0x4637ee.46
cmp edx, 0x111
je 0x463863
cmp edx, 0x113
jbe case.0x4637ee.48
cmp edx, 0x115
ja case.0x4637ee.48
mov eax, ebx
jmp 0x46389c
test ebx, ebx
je case.0x4637ee.48
mov eax, ebx
jmp 0x46389c
cmp edx, 0x210
jne case.0x4637ee.48
mov eax, esi
and eax, 0xffff
jle 0x463885
cmp eax, 2
jg 0x463885
mov eax, ebx
jmp 0x46389c
mov edx, esi
shr edx, 0x10
push edx
mov eax, dword [ebp + 4]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edx, dword [esp + 0x988]
test eax, eax
jne 0x4638a9
xor ecx, ecx
mov eax, 1
jmp 0x4638cb
mov ecx, dword [esp + 0x988]
push ebx
add ecx, 0x2000
push esi
push ecx
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x988]
test ecx, ecx
mov dword [edi], eax
jne 0x46391c
cmp edx, 0x113
jne 0x4638f6
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
push 0x113
mov dword [esp + 0x20], 1
call fcn.004731a0
jmp 0x463912
cmp edx, 0x7b
jne 0x46392e
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
push ebx
push esi
push edx
mov dword [esp + 0x20], 1
call fcn.00464000
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x46392e
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x970
ret 0x18