Function at 0x4627a0
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 0x4641fe
mov eax, dword [esp + 0x988]
mov edi, dword [esp + 0x994]
mov ebx, dword [esp + 0x990]
mov esi, dword [esp + 0x98c]
cmp eax, 6
jne 0x462816
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
push eax
push ebx
push esi
push 6
call fcn.0047a6b0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x46287a
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x11
jne 0x46284e
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 1
push ecx
push ebx
push esi
push eax
mov ecx, ebp
call fcn.0047a690
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x46287a
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0xcb2
jne 0x462881
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
push eax
mov dword [esp + 0x20], 1
call fcn.004673d0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4641ec
mov eax, dword [esp + 0x988]
cmp eax, dword [0x55baf4]
jne 0x4628bc
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.0046c1d0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4641ec
mov eax, dword [esp + 0x988]
cmp eax, 0x4a
jne 0x4628dd
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
push eax
mov dword [esp + 0x20], 1
call fcn.0046c220
jmp 0x4631aa
cmp eax, 0x31a
jne 0x462904
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
push ebx
push esi
push 0x31a
mov dword [esp + 0x20], 1
call fcn.00482bf0
jmp 0x4631aa
cmp eax, 0x407
jne 0x462927
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 1
push ecx
push ebx
push esi
push eax
mov ecx, ebp
call fcn.0044e470
jmp 0x4631aa
cmp eax, 0x111
jne 0x463127
cmp si, 0xb798
jb 0x46296a
cmp si, 0xbb80
ja 0x46296a
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.004786d0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4641ec
cmp si, 0xe141
jne 0x462996
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.0046abd0
jmp 0x462f56
cmp si, 0xe100
jne 0x4629c2
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.0046b030
jmp 0x462f56
cmp si, 0xe103
jne 0x4629ee
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.0046b1f0
jmp 0x462f56
cmp si, 0x8034
jne 0x462a1a
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.0046b1f0
jmp 0x462f56
cmp si, 0xe101
jne 0x462a46
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.0046bee0
jmp 0x462f56
cmp si, 0xb322
jne 0x462a72
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.0046ae50
jmp 0x462f56
cmp si, 0xbd75
jne 0x462a9e
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.0046ae50
jmp 0x462f56
cmp si, 0xbd77
jne 0x462aca
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.0046ae50
jmp 0x462f56
cmp si, 0xe800
jne 0x462af6
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.0046c600
jmp 0x462f56
cmp si, 0xe801
jne 0x462b22
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.00471ad0
jmp 0x462f56
cmp si, 0xe140
jne 0x462b4e
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.00471ff0
jmp 0x462f56
cmp si, 0xb3ae
jne 0x462b7a
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.00471ff0
jmp 0x462f56
cmp si, 0xb253
jne 0x462ba6
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.00471ff0
jmp 0x462f56
cmp si, 0x800e
jne 0x462bd2
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.00471ff0
jmp 0x462f56
cmp si, 0x808f
jne 0x462bfe
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.00471ff0
jmp 0x462f56
cmp si, 0x800d
jne 0x462c2a
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.00471ff0
jmp 0x462f56
cmp si, 0x800c
jne 0x462c56
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.00471ff0
jmp 0x462f56
cmp si, 0x800f
jne 0x462c82
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.00471ff0
jmp 0x462f56
cmp si, 0x852c
jne 0x462cae
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.00471ff0
jmp 0x462f56
cmp si, 0x8593
jne 0x462cda
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.00471ff0
jmp 0x462f56
cmp si, 0xe146
jne 0x462d06
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.00471ff0
jmp 0x462f56
cmp si, 0x802f
jne 0x462d32
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.00471ff0
jmp 0x462f56
cmp si, 0xa770
jne 0x462d5e
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.00477f20
jmp 0x462f56
cmp si, 0x85b2
jne 0x462d8a
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.00471fb0
jmp 0x462f56
cmp si, 0x8030
jne 0x462db6
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.00471ff0
jmp 0x462f56
cmp si, 0x8031
jne 0x462de2
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.00471ff0
jmp 0x462f56
cmp si, 0x8032
jne 0x462e0e
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.00471ff0
jmp 0x462f56
cmp si, 0x8045
jne 0x462e3a
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.00471db0
jmp 0x462f56
cmp si, 0x8046
jne 0x462e66
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.00471db0
jmp 0x462f56
cmp si, 0x806c
jne 0x462e85
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 1
push edx
push ebx
push 0x806c
jmp 0x462f49
cmp si, 0x806d
jne 0x462eaa
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0x806d
mov dword [esp + 0x1c], 1
push edx
jmp 0x462f4f
cmp si, 0x806b
jne 0x462ecf
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0x806b
mov dword [esp + 0x1c], 1
push ecx
jmp 0x462f4f
cmp si, 0x806a
jne 0x462eeb
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 1
push edx
push ebx
push 0x806a
jmp 0x462f49
cmp si, 0x413
jne 0x462f0d
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0x413
mov dword [esp + 0x1c], 1
push edx
jmp 0x462f4f
cmp si, 0x415
jne 0x462f2f
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push ebx
shr ecx, 0x10
push 0x415
mov dword [esp + 0x1c], 1
push ecx
jmp 0x462f4f
cmp si, 0x414
jne 0x462f76
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.0047ecf0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x463244
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp si, 0x80c0
jb 0x462fae
cmp si, 0x80cc
ja 0x462fae
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.004775c0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4641ec
cmp si, 0x1388
jb 0x462fe6
cmp si, 0x2328
ja 0x462fe6
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.004776d0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4641ec
cmp si, 0x8019
jb 0x46301e
cmp si, 0x802c
ja 0x46301e
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.00477f90
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4641ec
cmp si, 0x8504
jne 0x463065
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.00477f90
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x463244
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp si, 0x848a
jb 0x46309d
cmp si, 0x8491
ja 0x46309d
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.00477ee0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4641ec
cmp si, 0x8041
jb 0x4630d5
cmp si, 0x8044
ja 0x4630d5
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.00479fa0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4641ec
cmp si, 0x8497
jb 0x463244
cmp si, 0x84a2
ja 0x463244
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.00479970
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x463244
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x120
jne 0x463144
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
push eax
push ebx
push esi
push 0x120
jmp 0x4631a3
cmp eax, 0x2c
jne 0x46315b
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 1
push ecx
push ebx
push esi
push eax
jmp 0x4631a3
cmp eax, 0x11f
jne 0x463174
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 1
push edx
push ebx
push esi
push eax
jmp 0x4631a3
cmp eax, 0x2b
jne 0x46318c
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
push eax
push ebx
push esi
push 0x2b
jmp 0x4631a3
cmp eax, 0x117
jne 0x4631ca
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 1
push ecx
push ebx
push esi
push eax
mov ecx, ebp
call fcn.004660b0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4632a7
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x4e
jne 0x463206
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
push eax
mov dword [esp + 0x20], 1
call fcn.0046abf0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4632a7
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x233
jne 0x46327b
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
push ebx
push esi
push 0x233
mov dword [esp + 0x20], 1
call fcn.004b4bd0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4632a7
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.0046cdc0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4632a7
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x8064
jne 0x4632ae
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
push eax
mov dword [esp + 0x20], 1
call fcn.00472db0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4641ec
mov eax, dword [esp + 0x988]
cmp eax, dword [0x55baf8]
jne 0x4632e9
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.00473690
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4641ec
mov eax, dword [esp + 0x988]
cmp eax, 2
jne 0x463325
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
push eax
mov dword [esp + 0x20], 1
call fcn.00465680
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x463442
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x10
jne 0x463362
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
push ebx
push esi
push 0x10
mov dword [esp + 0x20], 1
call fcn.00465fc0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x463442
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x4e
jne 0x4633da
cmp dword [ebx + 8], 0xfffffdee
jne 0x46339b
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 1
push ecx
push ebx
push esi
mov ecx, ebp
call fcn.00480930
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4641ec
mov eax, dword [esp + 0x988]
cmp dword [ebx + 8], 0xfffffd3a
jne 0x463449
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
mov dword [esp + 0x1c], 1
call fcn.004757b0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x463442
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x112
jne 0x463418
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
push ebx
push esi
push 0x112
mov dword [esp + 0x20], 1
call fcn.00466be0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x463442
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x20
jne 0x463449
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 1
push ecx
push ebx
push esi
push eax
mov ecx, ebp
call fcn.004b4bd0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4641ec
mov eax, dword [esp + 0x988]
cmp eax, 0x117
jne 0x46362c
test esi, esi
jne 0x463462
mov eax, 1
jmp 0x4635ef
mov edx, dword [ebp + 0x4c]
test edx, edx
mov dword [esp + 0x18], edx
jne 0x463477
mov eax, 1
jmp 0x4635ef
mov ecx, dword [ebp + 0x48]
mov dword [esp + 0x20], ecx
mov ax, word [ecx]
cmp ax, 0xffff
je 0x4635ed
test byte [ecx + 2], 1
je 0x4635d1
and eax, 0xffff
test byte [edx + 1], 0x40
mov dword [esp + 0x14], eax
je 0x4634b8
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 0x4634fd
or dword [esp + 0x8c], 3
test ah, 2
je 0x46350a
or dword [esp + 0x8c], 8
test ah, 0x10
je 0x463520
mov ecx, dword [esp + 0x8c]
or ch, 0x10
mov dword [esp + 0x8c], ecx
test ah, 0x20
je 0x4635ac
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 0x4635ac
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 0x46348b
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.004770b0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x464094
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x111
jne 0x4636ca
mov al, byte [ebp + 0x52]
mov dword [esp + 0x14], 0
test al, al
je 0x46369f
mov ecx, esi
shr ecx, 0x10
cmp ecx, 1
jne 0x46369f
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 0x463689
mov ax, word [ecx]
cmp ax, 0xffff
je 0x463689
and eax, 0xffff
cmp dword [esp + 0x24], eax
je 0x4636c3
mov ax, word [ecx + 4]
add ecx, 4
add edx, 8
cmp ax, 0xffff
jne 0x46366e
xor eax, eax
and eax, 0x100
cmp eax, 0x100
jne 0x46369f
mov dword [esp + 0x14], 1
mov eax, dword [esp + 0x14]
mov dword [edi], 0
test eax, eax
je 0x463f68
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
xor eax, eax
mov ax, word [edx]
jmp 0x46368b
cmp eax, 5
jne 0x4636e8
cmp esi, 1
je 0x4636dd
push 1
mov ecx, ebp
call fcn.00473530
mov dword [edi], 1
jmp 0x464094
cmp eax, 0x4e
jne 0x463c68
mov eax, dword [ebx + 8]
cmp eax, 0xfffffcbe
jne 0x46371c
push 0
mov ecx, ebp
call fcn.00473530
mov dword [edi], 0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0xfffffcb7
jne 0x463e11
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 0x463acf
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 0x463aaf
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 0x463a9a
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 0x463a9a
test ch, 1
je 0x4638ef
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x463a9a
push 0
push 0
push 0x800
lea ecx, [esp + 0x24]
call fcn.00447320
jmp 0x463a9a
mov al, byte [esp + 0x34]
test al, al
je 0x463994
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.00430600
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 0x463a8a
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.00411210
cmp eax, 0xffffffff
je 0x463a2c
lea eax, [esp + 0x160]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x463a75
mov edx, dword [esp + 0x68]
mov eax, dword [0x55f3b8]
lea ecx, [esp + 0x160]
push 0xc8
push ecx
push edx
push eax
mov edi, 0x554e08
call dword [sym.imp.USER32.dll_LoadStringW]
xor ecx, ecx
test eax, eax
jle 0x463a79
lea edx, [esp + 0x160]
cmp word [edx], 0xa
je 0x463a6c
inc ecx
add edx, 2
cmp ecx, eax
jl 0x463a5c
jmp 0x463a79
lea edi, [esp + ecx*2 + 0x162]
jmp 0x463a79
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.00447320
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 0x463825
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jne 0x463adb
lea ecx, [esp + 0x18]
call fcn.00447300
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_MessageBeep]
xor ecx, ecx
mov eax, 1
jmp 0x463c45
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.004642a0
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.004642c0
call fcn.00464240
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 0x463c0a
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 0x463c33
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.00430640
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebp
call fcn.00484950
mov ecx, dword [esp + 0x7c]
xor eax, eax
mov edx, dword [esp + 0x994]
test ecx, ecx
mov dword [edx], eax
je 0x463e11
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x14
jne 0x463c8d
mov ecx, dword [ebp + 0x28]
mov eax, 1
test ecx, ecx
je 0x463c82
mov ecx, eax
mov dword [edi], ecx
jmp 0x464039
xor eax, eax
xor ecx, ecx
mov dword [edi], ecx
jmp 0x464039
cmp eax, 0x11f
jne 0x463da3
mov ecx, dword [ebp + 0x24]
test ecx, ecx
je 0x463d98
mov eax, esi
shr eax, 0x10
cmp ax, 0xffff
jne 0x463ccb
test ebx, ebx
jne 0x463ccb
push ebx
push ebx
push 0x409
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [edi], 1
jmp 0x464094
test al, 0x10
mov word [esp + 0x3f0], 0
jne 0x463d69
cmp si, 0xf000
mov eax, esi
jb 0x463d01
cmp si, 0xf1f0
jae 0x463d01
and eax, 0xffff
sub eax, 0xf000
sar eax, 4
sub eax, 0x1100
jmp 0x463d22
cmp si, 0xe110
jb 0x463d16
cmp si, 0xe11f
ja 0x463d16
mov eax, 0xefda
jmp 0x463d22
cmp si, 0xff00
jb 0x463d22
mov eax, 0xef1f
mov ecx, dword [0x55f3b8]
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 0x463d69
lea edx, [esp + 0x3f0]
cmp word [edx], 0xa
je 0x463d5f
inc ecx
add edx, 2
cmp ecx, eax
jl 0x463d4f
jmp 0x463d69
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 0x464094
cmp eax, 7
jne 0x463ddd
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x463db6
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 0x463dd2
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov dword [edi], 1
jmp 0x464094
cmp eax, 2
jne 0x463e08
mov eax, dword [ebp + 4]
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0xc0000000
jne 0x463dfd
push 1
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov dword [edi], 1
jmp 0x464094
cmp eax, 0x4e
jne 0x463f5d
mov eax, dword [ebx + 8]
cmp eax, 0xfffffdf8
jne 0x463eb7
lea edi, [ebx + 0x10]
test esi, esi
mov byte [edi], 0
je 0x463f3e
test byte [ebx + 0x64], 1
jne 0x463f3e
mov eax, dword [0x55f3b8]
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 0x463f3e
cmp byte [esp + eax + 0x2f0], 0xa
je 0x463e76
inc eax
cmp eax, esi
jl 0x463e65
jmp 0x463e87
lea edx, [esp + eax + 0x2f1]
push 0x50
push edx
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
test esi, esi
jle 0x463f3e
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 0x46408d
lea edi, [ebx + 0x10]
test esi, esi
mov word [edi], 0
je 0x463f3e
test byte [ebx + 0xb4], 1
jne 0x463f3e
mov eax, dword [0x55f3b8]
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 0x463f3e
lea ecx, [esp + 0x780]
cmp word [ecx], 0xa
je 0x463f1a
inc eax
add ecx, 2
cmp eax, esi
jl 0x463f0a
jmp 0x463f2b
lea edx, [esp + eax*2 + 0x782]
push 0x50
push edx
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
test esi, esi
jle 0x463f3e
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 0x46404f
cmp si, 0x805d
jne 0x463f94
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.0046c170
jmp 0x464033
cmp si, 0x802d
jne 0x463fbd
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.00477f60
jmp 0x464033
cmp si, 0x8012
jne 0x463fe6
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.0046c1b0
jmp 0x464033
cmp si, 0x8495
jne 0x464008
lea ecx, [esp + 0x10]
mov edx, esi
push ecx
push ebx
shr edx, 0x10
push 0x8495
mov dword [esp + 0x1c], 1
push edx
jmp 0x46402c
cmp si, 0x8494
jne 0x464094
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.0046cba0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x464094
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x970
ret 0x18
cmp eax, 0x116
jne 0x464094
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
push ebx
push esi
push 0x116
mov dword [esp + 0x20], 1
call fcn.004b4bd0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x464094
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 0x464107
je 0x464103
lea eax, [edx - 0x2b]
cmp eax, 0xe
ja case.0x4640be.48
xor ecx, ecx
mov cl, byte [eax + 0x464228]
jmp dword [ecx*4 + 0x464210]
test esi, esi
je case.0x4640be.48
mov eax, dword [ebx + 0x14]
jmp 0x46416c
test esi, esi
je case.0x4640be.48
mov eax, dword [ebx + 4]
mov edx, dword [ebp + 4]
push eax
push edx
jmp 0x46415f
test esi, esi
je case.0x4640be.48
mov eax, dword [ebx + 4]
push eax
jmp 0x46415b
test esi, esi
je case.0x4640be.48
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 4]
push eax
push ecx
jmp 0x46415f
mov eax, dword [ebx]
jmp 0x46416c
cmp edx, 0x138
ja 0x46413b
cmp edx, 0x132
jae case.0x4640be.46
cmp edx, 0x111
je 0x464133
cmp edx, 0x113
jbe case.0x4640be.48
cmp edx, 0x115
ja case.0x4640be.48
mov eax, ebx
jmp 0x46416c
test ebx, ebx
je case.0x4640be.48
mov eax, ebx
jmp 0x46416c
cmp edx, 0x210
jne case.0x4640be.48
mov eax, esi
and eax, 0xffff
jle 0x464155
cmp eax, 2
jg 0x464155
mov eax, ebx
jmp 0x46416c
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 0x464179
xor ecx, ecx
mov eax, 1
jmp 0x46419b
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 0x4641ec
cmp edx, 0x113
jne 0x4641c6
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
push ebx
push esi
push 0x113
mov dword [esp + 0x20], 1
call fcn.00473a70
jmp 0x4641e2
cmp edx, 0x7b
jne 0x4641fe
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
push ebx
push esi
push edx
mov dword [esp + 0x20], 1
call fcn.004648d0
mov dword [edi], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4641fe
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