Function at 0x10001d6c
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
mov eax, 0x100819a1
mov ecx, dword [eax + 8]
mov di, 0x20
mov esi, dword [eax + 0x18]
mov dword [ebp - 8], eax
mov dword [eax], esi
mov dword [ebp - 0x10], eax
mov eax, dword [0x1008191c]
add ecx, eax
mov eax, dword [0x10081c34]
mov dword [ebp - 0x14], eax
mov dword [0x100819b0], edx
mov dword [0x10081910], eax
mov dword [ebp - 8], edx
push 8
push 0x2000
mov dword [0x10081ba0], eax
push 0xb00
mov dword [ebp - 0x14], esi
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, dword [0x10081aac]
add eax, eax
mov dword [ebp - 8], esi
mov dword [0x10081b44], edi
mov dword [ebp - 0xc], edx
mov ecx, dword [0x10081990]
call sub.kernel32.dll_GetCurrentThreadId
mov eax, 0x1008196d
mov ecx, dword [eax]
mov ecx, dword [ebp - 0xc]
mov esi, 0xc
mov ecx, dword [eax + 0x18]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0xc], edx
mov dword [eax + 0x14], ecx
mov dword [ebp - 8], edi
mov dword [eax + 8], eax
call sub.kernel32.dll_GetCurrentThreadId
mov edx, 0x10081975
mov eax, dword [edx]
mov esi, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x14], eax
mov dword [edx], edi
mov dword [ebp - 0xc], eax
sub dword [edx], edx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ecx
mov dword [0x10081c5c], edi
push 0x76
push 0
call sub.user32.dll_LoadBitmapA
mov edi, dword [0x10081ac8]
mov edx, 0x7b
mov edx, dword [0x10081860]
mov dword [ebp - 8], eax
mov dword [0x10081a40], esi
mov dword [0x100819f8], edi
push 2
push 0x4000
mov dword [ebp - 0x14], eax
push 0x400
mov dword [ebp - 0x14], eax
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, dword [0x100818b0]
mov esi, dword [ebp - 0xc]
mov dx, 0x10
add eax, dword [0x10081a44]
sub ecx, edi
mov dword [ebp - 0x10], edx
mov dword [0x10081a9c], eax
mov dword [ebp - 0x10], eax
call sub.user32.dll_CreatePopupMenu
mov eax, 0x10081999
mov edx, dword [eax]
or ecx, dword [ebp - 8]
add esi, edx
mov dword [ebp - 8], edi
mov dword [eax], eax
lea esi, [ebp - 0xc]
add dword [0x10081be0], eax
dec dword [ebp - 8]
mov dword [ebp - 0x10], edx
lea edi, [ebp - 0x10]
mov dword [0x100819c4], eax
push edi
call sub.user32.dll_CharUpperA
mov ecx, dword [0x10081b60]
add edi, ecx
mov dword [ebp - 0xc], eax
mov dword [0x10081ab4], esi
mov dword [0x10081908], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], edx
push 4
push 0x2000
mov dword [ebp - 0xc], eax
push 0x700
mov dword [ebp - 0x14], edi
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, dword [0x10081a18]
or edx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [0x10081884]
sub esi, esi
mov dword [ebp - 0x14], eax
mov dword [0x10081934], ecx
mov dword [0x10081a10], edi
call sub.user32.dll_CreatePopupMenu
mov edx, 0x100819a5
mov eax, dword [edx + 8]
sub edi, eax
mov ecx, dword [edx]
mov edi, 0x20
mov dword [ebp - 0x14], edi
mov dword [edx + 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ecx
mov dword [0x10081b0c], eax
push 2
mov dword [ebp - 0xc], edi
mov dword [0x10081b88], eax
push 0x8000
push 0x500
mov dword [ebp - 0xc], eax
mov dword [0x10081bf8], edx
push 0
call sub.kernel32.dll_VirtualAlloc
sbb eax, dword [0x10081884]
sub eax, eax
mov ecx, dword [0x10081b60]
mov dword [ebp - 0x10], ecx
mov dword [0x10081b14], esi
mov dword [ebp - 0xc], edx
mov dword [0x10081a0c], eax
mov edi, dword [ebp - 8]
push 0xc4
push 0
call sub.user32.dll_LoadBitmapA
mov eax, 0x100819a9
mov ecx, dword [eax + 0x18]
mov edi, dword [ebp - 0xc]
sub ecx, edx
mov esi, dword [eax]
add edx, edx
mov dword [ebp - 0x10], esi
mov dword [eax], edi
mov eax, dword [ebp - 0x14]
lea edi, [ebp - 0x14]
push edi
call sub.user32.dll_CharUpperA
mov eax, dword [0x10081b24]
mov edi, dword [ebp - 0x14]
add ecx, esi
test edx, edx
jl 0x10001fd7
mov edi, dword [0x10081af4]
mov eax, dword [0x1008190c]
sub eax, dword [ebp - 0x14]
add eax, edx
mov dword [ebp - 0x10], ecx
mov dword [0x10081a4c], eax
mov dword [ebp - 0x14], eax
mov esi, dword [0x10081b54]
mov ecx, dword [sym.imp.comctl32.dll_ImageList_Add]
mov esi, 0x1008199d
mov edx, dword [ebp - 0xc]
adc edx, dword [esi + 0x18]
sub edx, esi
mov dx, 0x80
mov dword [ebp - 0xc], edx
mov dword [esi + 0x18], edx
mov dword [0x10081968], esi
mov edx, 0x8024
mov eax, 0x10081981
sbb edi, dword [ebp - 0x14]
mov edi, dword [eax]
mov di, 0x80
test edi, edi
jb 0x10002021
mov edi, dword [ebp - 0xc]
lea edi, [eax]
sub edi, eax
mov dword [ebp - 0xc], edi
adc dword [0x10081b2c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [0x10081aa4]
add eax, esi
mov dword [ebp - 0xc], eax
mov dword [0x100818b0], eax
mov dword [0x10081860], esi
mov dword [0x100819c0], esi
mov edi, dword [ecx + edx]
mov esi, dword [ebp - 0x14]
mov esi, dword [0x10081abc]
mov esi, 0xe6
sub eax, esi
mov dword [ebp - 8], esi
mov dword [0x100819a8], esi
mov dword [ebp - 0x10], eax
mov dword [0x10081b18], esi
cmp edi, dword [0x10006845]
je 0x100037a9
mov esi, 0x100819a9
mov eax, dword [ebp - 0x14]
mov eax, dword [esi + 0x14]
mov ax, 0x10
mov dword [esi + 0x14], eax
add eax, dword [ebp - 8]
mov eax, 0xba
cmp dword [ebp + 0x80], eax
jne 0x100020ab
mov eax, dword [ebp - 8]
mov eax, dword [esi + 8]
mov eax, 0x21
mov eax, dword [esi]
mov dword [ebp - 8], eax
mov dword [esi + 8], eax
dec edx
jne 0x10002027
mov eax, 0x1008197d
mov edx, dword [eax + 0x18]
add edx, edi
mov edi, dword [eax + 0x10]
mov di, 0xad
mov dword [ebp - 0xc], edx
mov dword [eax], eax
mov dword [eax + 4], esi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], eax
mov dword [0x10081a7c], eax
push 0x10081bfc
call sub.user32.dll_CharUpperA
mov ecx, 0x10081975
mov edx, dword [ecx]
mov eax, dword [ebp - 0x10]
sub edi, esi
mov esi, dword [ebp - 8]
add eax, esi
sub dword [ebp - 8], 4
or dword [ecx], esi
mov dword [ebp - 0xc], esi
mov dword [ecx], edi
call sub.user32.dll_CreatePopupMenu
mov eax, 0x10081971
mov edi, dword [eax]
mov ecx, dword [ebp - 0xc]
mov dx, 0xf2
and edi, dword [eax + 0x90]
mov cx, 0x10
mov dword [ebp - 8], esi
mov dword [eax], eax
mov dword [0x10081b60], eax
push 4
mov dword [0x10081ae8], eax
push 0x8000
push 0x200
push 0
call sub.kernel32.dll_VirtualAlloc
mov edx, dword [0x10081b08]
mov eax, dword [ebp - 8]
mov edx, 0xb0
or eax, dword [ebp - 0xc]
mov esi, dword [0x10081860]
mov dword [ebp - 0xc], eax
mov dword [0x100818a4], eax
mov dword [ebp - 0xc], eax
mov eax, dword [0x10081b20]
mov esi, dword [ebp - 8]
call sub.kernel32.dll_GetCurrentThreadId
mov eax, 0x100819a1
mov esi, dword [eax + 0xc]
sub ecx, dword [ebp - 0x14]
mov di, 0xb8
mov edx, dword [ebp - 0x14]
add esi, edx
xor dword [ebp - 8], 0x550055
mov dword [eax], ecx
sub dword [eax], eax
mov dword [ebp - 0xc], eax
call sub.kernel32.dll_GetCurrentThreadId
mov edi, dword [0x10081b84]
mov ecx, 4
mov ecx, dword [ebp - 0x14]
sub esi, edx
mov dword [ebp - 0xc], eax
mov dword [0x10081c20], eax
mov dword [ebp - 8], edi
mov dword [0x10081a7c], eax
mov dword [0x10081bc0], ecx
mov edx, dword [ebp - 8]
push 2
mov dword [0x10081c08], edi
push 0x8000
mov dword [ebp - 0x14], edi
push 0x500
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, dword [0x10081a60]
mov ecx, dword [ebp - 0x10]
or eax, eax
mov si, 4
mov dword [ebp - 0x14], eax
mov dword [0x10081a40], esi
mov dword [ebp - 8], edx
mov dword [0x10081b28], eax
or esi, dword [0x10081868]
mov dword [0x100819bc], eax
mov dword [ebp - 0xc], eax
push 0x10081aec
call sub.user32.dll_CharUpperA
mov eax, 0x1008196d
mov edi, dword [eax + 0x14]
mov esi, dword [ebp - 8]
add edi, edx
mov edi, dword [eax + 4]
mov dword [ebp - 0x14], edx
mov dword [eax], eax
mov eax, dword [0x10081a70]
mov dword [0x10081b94], ecx
call sub.kernel32.dll_GetCurrentThreadId
mov eax, dword [0x10081b1c]
mov eax, 2
add eax, esi
mov dword [ebp - 0x10], eax
mov dword [0x10081a20], eax
and dword [ebp - 0x14], edi
mov dword [ebp - 0x10], eax
mov dword [0x10081b14], eax
call sub.user32.dll_CreatePopupMenu
mov eax, dword [0x10081a3c]
mov eax, dword [ebp - 0x14]
mov ax, 0x20
sub esi, eax
mov dword [ebp - 8], eax
mov dword [0x100819bc], eax
mov dword [0x100819d4], edi
push 0x113e
mov dword [0x10081a54], eax
push 0
call sub.user32.dll_LoadBitmapA
add eax, dword [0x10081a18]
mov eax, dword [ebp - 0xc]
mov ax, 0x20
mov eax, dword [ebp - 0x14]
mov eax, dword [0x10081ba8]
mov dword [ebp - 8], eax
mov dword [0x1008192c], edx
mov dword [ebp - 0xc], ecx
mov eax, dword [0x10081860]
push 0xae
mov dword [ebp - 0xc], eax
push 0
call sub.user32.dll_LoadBitmapA
mov edx, 0x10081961
mov eax, dword [ebp - 0x14]
mov eax, dword [edx]
sub eax, edi
mov dword [ebp - 0xc], eax
mov dword [edx + 0x10], eax
sub eax, edi
cmp dword [edx + 8], esi
jg 0x100022e7
adc ecx, dword [ebp - 8]
mov eax, dword [edx]
mov si, 0x89
mov esi, dword [ebp - 8]
mov dword [ebp - 8], eax
mov dword [edx], esi
mov ecx, 4
mov dword [ebp - 0x14], edx
push 0x84
push 0
call sub.user32.dll_LoadBitmapA
mov eax, 0x1008198d
mov esi, dword [eax + 0x10]
mov ecx, dword [ebp - 8]
mov edi, 2
or esi, esi
mov dword [ebp - 0x14], eax
mov dword [eax], eax
mov dword [eax + 0x10], eax
mov edx, dword [0x10081b58]
call sub.user32.dll_CreatePopupMenu
mov esi, dword [0x10081ad0]
mov eax, dword [ebp - 0xc]
add eax, eax
mov ecx, dword [0x100818f8]
cmp edi, dword [0x10081860]
jg 0x1000235a
mov eax, dword [ebp - 0x10]
mov eax, dword [0x100818c4]
mov edx, dword [ebp - 8]
mov eax, 0x80
mov edx, dword [ebp - 0xc]
sub eax, ecx
mov dword [ebp - 0xc], edi
mov dword [0x10081930], eax
mov dword [ebp - 0x10], edi
mov dword [0x10081860], edi
mov dword [ebp - 8], edx
push 4
mov dword [ebp - 0x10], ecx
push 0x4000
mov dword [0x10081b6c], eax
push 0x500
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, 0x1008197d
mov esi, dword [eax]
mov esi, dword [ebp - 0x10]
add edx, ecx
mov edi, dword [ebp - 0x10]
mov cx, 4
mov dword [ebp - 0x10], edi
mov dword [eax], esi
mov dword [ebp - 8], eax
call sub.user32.dll_CreatePopupMenu
mov edi, 0x100819a5
mov eax, dword [edi]
mov eax, dword [ebp - 0x10]
mov eax, 4
mov eax, dword [edi]
mov eax, dword [ebp - 0xc]
add edx, eax
mov dword [ebp - 0xc], esi
mov dword [edi + 0x18], eax
mov dword [ebp - 8], eax
call sub.user32.dll_CreatePopupMenu
mov eax, 0x10081965
mov ecx, dword [eax + 0x10]
add esi, esi
mov ecx, dword [eax]
mov dx, 0xda
sub dword [ebp - 0x14], 0x4d
mov dword [eax], edx
mov dword [ebp - 8], eax
mov dword [eax], eax
mov dword [ebp - 0xc], ecx
mov dword [0x10081a3c], eax
call sub.user32.dll_CreatePopupMenu
mov esi, 0x10081979
mov ecx, dword [esi + 8]
sub eax, eax
mov eax, dword [esi]
mov dword [ebp - 8], eax
mov dword [esi + 0x18], edi
mov dword [ebp - 0x10], edx
mov edi, dword [ebp - 0x14]
call sub.user32.dll_CreatePopupMenu
mov eax, dword [0x10081a50]
add eax, edi
mov dword [ebp - 0x10], edx
mov dword [0x10081b08], ecx
and dword [0x10081860], edx
mov dword [0x10081860], ecx
push 0x7c
mov dword [ebp - 8], edx
push 0
call sub.user32.dll_LoadBitmapA
mov eax, 0x10081989
mov edx, dword [eax + 0x18]
mov esi, dword [ebp - 0xc]
mov cx, 0x40
mov ecx, dword [ebp - 8]
mov di, 0x10
mov dword [ebp - 8], eax
mov dword [eax], eax
push 4
push 0x8000
push 0xa00
mov dword [ebp - 8], esi
mov dword [0x10081bb4], edx
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, dword [0x100819e4]
mov eax, dword [ebp - 0x10]
sub eax, ecx
mov eax, dword [0x10081880]
mov dword [ebp - 0xc], eax
mov dword [0x10081ae4], edi
or dword [ebp - 8], 0xeeeeee
mov dword [0x10081b44], ecx
mov eax, dword [0x10081914]
mov ecx, dword [ebp - 8]
call sub.kernel32.dll_GetCurrentThreadId
mov edx, 0x10081991
mov eax, dword [edx]
mov esi, dword [ebp - 0xc]
mov ecx, 0xbe
mov cx, 0x6d
mov dword [ebp - 8], eax
adc dword [edx], 0x20
lea eax, [ebp - 0xc]
push eax
call sub.user32.dll_CharUpperA
mov eax, dword [0x10081968]
mov edi, dword [ebp - 0x14]
mov cx, 1
mov edi, dword [0x10081c34]
mov dword [ebp - 8], eax
mov dword [0x10081a4c], esi
adc eax, dword [ebp - 0x10]
call sub.kernel32.dll_GetCurrentThreadId
mov esi, 0x10081961
mov eax, dword [ebp - 8]
mov ecx, dword [esi]
mov edx, 0xe6
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
sub edx, eax
cmp eax, edx
jae 0x10002513
mov dword [ebp - 0x10], eax
mov dword [0x10081918], eax
and eax, dword [ebp - 0x10]
mov eax, dword [esi]
mov eax, 2
mov edx, dword [ebp - 0x14]
mov edx, dword [esi]
mov dword [ebp - 8], ecx
mov dword [esi], edx
mov eax, dword [0x10081860]
mov dword [0x100819b4], eax
mov dword [ebp - 0x10], eax
push 0x73
push 0
call sub.user32.dll_LoadBitmapA
mov ecx, dword [0x10081860]
mov eax, dword [ebp - 0xc]
mov ax, 0xf7
add ecx, eax
sub dword [ebp - 0xc], edi
xor dword [0x10081c18], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], esi
mov dword [0x10081968], eax
push 0x100818c0
call sub.user32.dll_CharUpperA
mov edi, dword [0x10081a90]
mov ecx, dword [ebp - 0xc]
sub ecx, eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [0x100818bc]
cmp eax, 0
js 0x10002594
mov eax, dword [0x10081860]
mov eax, dword [0x10081988]
mov edx, dword [ebp - 8]
add ecx, edi
mov eax, dword [ebp - 0x10]
add eax, esi
mov dword [ebp - 0x10], esi
mov dword [0x10081aa8], eax
mov dword [ebp - 8], ecx
mov dword [0x10081b50], eax
mov dword [0x100818fc], edx
mov ecx, dword [ebp - 8]
mov eax, dword [0x10081920]
mov dword [0x10081bb4], ecx
push 0x10081a8c
call sub.user32.dll_CharUpperA
mov eax, 0x1008199d
mov edi, dword [ebp - 8]
mov ecx, dword [eax + 4]
sub edx, edx
mov edx, dword [ebp - 0xc]
cmp eax, 1
jae 0x100025d0
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 8]
mov cx, 0x71
mov dword [ebp - 0xc], esi
mov dword [eax], edi
mov dword [0x10081af0], eax
call sub.kernel32.dll_GetCurrentThreadId
mov eax, dword [0x10081bcc]
mov edx, dword [ebp - 8]
mov ax, 0x20
mov eax, dword [0x10081a20]
cmp edi, dword [0x10081944]
jbe 0x10002622
mov dword [0x10081860], esi
mov eax, dword [0x10081b54]
mov edx, dword [ebp - 0x14]
mov di, 0x42
add ecx, eax
mov dword [ebp - 0xc], eax
sub dword [0x10081930], 0xb0
mov dword [0x10081b04], ecx
mov eax, dword [ebp - 0xc]
mov dword [0x10081a88], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [0x100818b0]
call sub.user32.dll_CreatePopupMenu
mov edx, 0x10081989
mov eax, dword [edx]
mov eax, dword [ebp - 8]
sub edi, eax
mov eax, dword [edx]
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov dword [edx], eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov eax, dword [0x1008195c]
push 0x72
push 0
call sub.user32.dll_LoadBitmapA
mov eax, dword [0x10081b20]
mov ecx, dword [ebp - 0xc]
or edi, eax
mov eax, dword [ebp - 0x14]
add eax, edx
mov dword [ebp - 8], esi
mov dword [0x10081988], edi
mov edi, dword [ebp - 0x14]
call sub.user32.dll_CreatePopupMenu
mov edi, 0x10081981
mov edx, dword [edi + 0xc]
mov eax, dword [ebp - 0x14]
mov eax, 1
mov eax, dword [edi]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], esi
mov dword [edi], ecx
mov dword [ebp - 0x10], ecx
push 8
mov dword [ebp - 8], eax
push 0x4000
push 0xb00
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, dword [0x10081874]
mov edx, dword [ebp - 0xc]
mov eax, 0x76
mov eax, dword [ebp - 0x14]
mov edi, dword [0x10081c4c]
mov edx, 0x10
mov dword [ebp - 8], eax
mov dword [0x10081ae4], ecx
mov dword [ebp - 0x10], eax
mov eax, dword [0x10081b38]
mov eax, dword [0x10081860]
push 4
mov dword [ebp - 8], eax
push 0x4000
push 0x1000
mov dword [0x10081914], esi
push 0
call sub.kernel32.dll_VirtualAlloc
mov edi, dword [0x10081884]
or eax, dword [ebp - 8]
xor ecx, eax
mov eax, dword [0x100818f8]
cmp eax, dword [ebp + 0x33]
jg 0x1000273e
mov dword [0x10081c28], edi
mov eax, dword [0x10081884]
mov edi, dword [0x1008193c]
mov edi, dword [ebp - 0x14]
add eax, eax
mov edx, dword [ebp - 0xc]
and eax, edx
mov dword [ebp - 0xc], eax
mov dword [0x10081a54], eax
mov dword [ebp - 0x14], ecx
mov dword [0x1008189c], eax
mov eax, dword [0x10081b50]
add edi, dword [ebp - 8]
mov eax, dword [0x10081bc0]
push 2
push 0x4000
push 0x800
push 0
call sub.kernel32.dll_VirtualAlloc
mov esi, dword [0x10081bf8]
sub edi, edx
add eax, eax
mov dword [ebp - 0x14], ecx
mov dword [0x10081a80], eax
mov dword [ebp - 0xc], edi
mov dword [ebp - 0xc], ecx
call sub.user32.dll_CreatePopupMenu
mov ecx, 0x100819a1
mov eax, dword [ebp - 0x10]
mov edx, dword [ecx]
add eax, edi
mov dword [ecx], esi
mov esi, dword [ecx + 0x84]
cmp edx, esi
jb 0x100027a6
mov eax, dword [ebp - 8]
mov eax, dword [ecx + 0x14]
mov edi, 0x73
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
mov dword [ecx], eax
mov eax, 0xfa
mov eax, dword [ebp - 0x14]
push 0xbb
push 0
call sub.user32.dll_LoadBitmapA
mov eax, dword [0x100819a4]
mov esi, dword [ebp - 0xc]
and eax, eax
mov eax, dword [0x10081b9c]
mov dword [ebp - 0xc], esi
mov dword [0x10081a34], eax
mov dword [ebp - 0x14], edi
mov dword [0x10081960], esi
lea edx, [ebp - 0xc]
push edx
call sub.user32.dll_CharUpperA
mov edi, 0x1008196d
mov ecx, dword [ebp - 8]
mov esi, dword [edi + 4]
mov eax, 0x1c
xor dword [ebp - 8], 0xffff00ff
mov dword [edi + 8], esi
add eax, eax
cmp eax, esi
je 0x1000281c
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov edx, dword [edi]
mov edx, 0x80
sbb eax, dword [ebp - 0x14]
lea eax, [edi + 0x18]
mov dword [ebp - 0xc], eax
mov dword [edi + 0xc], eax
mov ecx, 0x60
sbb eax, dword [0x1008190c]
call sub.kernel32.dll_GetCurrentThreadId
xor esi, dword [0x100819cc]
mov esi, dword [ebp - 0xc]
mov ecx, 0x40
mov edx, dword [ebp - 0xc]
mov ecx, dword [0x10081a40]
mov dword [ebp - 8], eax
mov dword [0x10081c40], eax
mov dword [0x10081860], edi
push 0x10081ab4
call sub.user32.dll_CharUpperA
mov eax, 0x10081999
mov ecx, dword [ebp - 8]
mov esi, dword [eax + 0xc]
sub edx, edi
mov dword [eax], edx
mov esi, dword [eax + 0x18]
cmp dword [eax], 0x39
jne 0x1000288c
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x14]
mov edi, dword [eax + 8]
sub esi, edx
mov edx, dword [ebp - 8]
mov esi, dword [eax]
mov dword [ebp - 8], eax
mov dword [eax], edi
add esi, ecx
mov dword [0x10081a98], eax
mov dword [ebp - 0xc], edx
lea esi, [ebp - 0x14]
push esi
call sub.user32.dll_CharUpperA
mov ecx, dword [0x100819c4]
mov edi, dword [ebp - 0x10]
sub edi, eax
cmp esi, eax
jb 0x100028cf
mov eax, dword [ebp - 0x10]
mov edx, dword [0x10081b44]
mov edi, dword [ebp - 0xc]
sub eax, eax
mov eax, dword [ebp - 0xc]
add edi, dword [0x10081a90]
mov dword [ebp - 0xc], edx
mov dword [0x10081c38], eax
mov dword [ebp - 0xc], eax
mov dword [0x100819f8], esi
mov dword [0x100819f4], eax
mov eax, dword [ebp - 0x10]
mov dword [0x10081a34], eax
push 4
mov dword [0x10081988], edx
push 0x4000
push 0xd00
mov dword [0x10081984], eax
push 0
call sub.kernel32.dll_VirtualAlloc
mov edx, 0x1008198d
mov eax, dword [edx + 4]
mov ax, 0xff
mov eax, dword [edx]
sub esi, eax
mov dword [ebp - 8], eax
mov dword [edx + 8], eax
mov dword [ebp - 0x14], eax
mov dword [edx + 0x14], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 8], eax
push 0x8b
mov dword [0x10081860], esi
push 0
call sub.user32.dll_LoadBitmapA
mov esi, dword [0x10081b40]
mov di, 0x4b
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x10081944]
mov dword [ebp - 0x10], eax
mov dword [0x1008192c], esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
push 0x10081aac
call sub.user32.dll_CharUpperA
mov ecx, 0x100819b5
mov eax, dword [ecx + 0x18]
mov eax, dword [ebp - 0x10]
sub edi, edx
mov si, 0x20
mov dword [ebp - 8], eax
mov dword [ecx + 8], eax
xor dword [ebp - 0xc], edi
mov dword [ebp - 0x10], edx
lea eax, [ebp - 8]
push eax
call sub.user32.dll_CharUpperA
mov edx, 0x10081971
mov ecx, dword [edx]
mov esi, dword [ebp - 0x10]
mov di, 8
mov eax, dword [edx]
mov eax, dword [ebp - 0xc]
add ecx, eax
mov dword [ebp - 0xc], eax
mov dword [edx], eax
mov dword [ebp - 0xc], eax
mov dword [edx], edx
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x10], edx
mov dword [0x10081b58], ecx
push 0x15f7
push 0
call sub.user32.dll_LoadBitmapA
mov edi, dword [0x10081bb4]
xor esi, eax
mov esi, dword [0x10081bb4]
mov dword [ebp - 0x14], eax
xor dword [0x10081860], edx
mov dword [ebp - 8], esi
xor dword [0x10081a68], 0xffff
add dword [0x10081b84], eax
push 0x8b
mov dword [ebp - 8], eax
push 0
call sub.user32.dll_LoadBitmapA
adc edi, dword [0x10081bb0]
add ecx, eax
mov dword [ebp - 0x14], edx
mov dword [0x10081bf8], eax
mov dword [ebp - 0x10], esi
push 8
push 0x2000
push 0x400
mov dword [0x10081acc], ecx
push 0
call sub.kernel32.dll_VirtualAlloc
mov esi, 0x100819b1
mov eax, dword [esi]
mov eax, dword [ebp - 0x14]
mov ax, 0x89
add eax, eax
mov dword [ebp - 8], edx
mov dword [esi], eax
mov dword [ebp - 0xc], eax
call sub.user32.dll_CreatePopupMenu
mov ecx, dword [0x10081a84]
mov ecx, dword [ebp - 0x14]
add ecx, eax
mov ecx, dword [ebp - 8]
sub eax, dword [0x10081b70]
mov dword [ebp - 0x14], eax
mov dword [0x100819a8], esi
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], ecx
lea eax, [ebp - 0x14]
push eax
call sub.user32.dll_CharUpperA
mov ecx, dword [0x10081bc4]
mov eax, dword [ebp - 0xc]
add ecx, edi
mov esi, dword [ebp - 0x14]
mov edi, dword [0x100819ec]
mov dword [ebp - 0x10], esi
mov dword [0x10081bb4], eax
mov dword [ebp - 0x10], eax
mov dword [0x10081978], edx
mov dword [0x10081c48], edx
mov edx, dword [0x10081ba4]
call sub.user32.dll_CreatePopupMenu
mov edx, dword [0x10081b88]
mov eax, dword [ebp - 0x10]
and eax, eax
mov eax, dword [0x10081a98]
mov dx, 0x8e
mov dword [ebp - 8], esi
mov dword [0x1008189c], esi
mov dword [ebp - 0xc], ecx
mov dword [0x10081860], edi
mov dword [0x1008189c], ecx
push 2
mov dword [ebp - 8], eax
push 0x4000
mov dword [0x10081a20], edi
push 0x500
push 0
call sub.kernel32.dll_VirtualAlloc
mov edi, 0x1008199d
mov edx, dword [edi + 0x10]
mov eax, dword [ebp - 8]
mov ecx, 2
mov eax, dword [ebp - 8]
mov dword [ebp - 8], esi
mov dword [edi + 0x10], edx
mov dword [ebp - 0xc], eax
mov dword [edi + 8], ecx
mov dword [ebp - 0xc], eax
push 0x7d
mov dword [ebp - 8], ecx
push 0
call sub.user32.dll_LoadBitmapA
mov ecx, 0x10081969
mov eax, dword [ebp - 0xc]
mov esi, dword [ecx + 0x18]
mov ax, 0x20
mov dword [ebp - 8], eax
mov dword [ecx + 0xc], eax
cmp edi, 1
ja 0x10002b41
mov dword [0x10081a20], eax
mov edi, dword [ebp - 8]
mov esi, dword [ecx]
mov di, 0x87
mov dword [ebp - 0xc], edx
mov dword [ecx], esi
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], eax
mov dword [0x10081afc], ecx
lea ecx, [ebp - 0x10]
push ecx
call sub.user32.dll_CharUpperA
mov eax, dword [0x100818e8]
mov ax, 1
mov edi, dword [ebp - 0x10]
mov eax, dword [0x10081b20]
xor eax, eax
mov dword [ebp - 0x10], esi
mov dword [0x10081b90], ecx
mov dword [0x10081b14], eax
mov dword [0x10081a60], edx
push 0x10081b20
call sub.user32.dll_CharUpperA
mov edi, 0x1008197d
mov eax, dword [edi]
or eax, dword [ebp - 0xc]
sub esi, eax
mov eax, dword [edi]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], eax
mov dword [edi + 0x10], eax
mov dword [ebp - 8], esi
mov dword [0x100818c8], eax
push 0x72
mov dword [ebp - 8], eax
mov dword [0x10081abc], esi
push 0
call sub.user32.dll_LoadBitmapA
mov eax, 0x100819ad
mov ecx, dword [eax]
mov edi, dword [ebp - 0xc]
add esi, ecx
mov edx, dword [eax]
mov ecx, dword [ebp - 0xc]
mov ecx, 0x41
mov dword [ebp - 0x14], eax
mov dword [eax + 0xc], eax
mov dword [eax + 0x18], eax
mov dword [ebp - 0xc], eax
push 0xc4
mov dword [ebp - 0xc], edx
mov dword [0x10081b54], edi
push 0
call sub.user32.dll_LoadBitmapA
mov edx, 0x10081979
mov eax, dword [edx]
mov eax, dword [ebp - 0x10]
mov ecx, 0xa9
mov dword [ebp - 0x10], eax
mov dword [edx + 0xc], ecx
mov dword [ebp - 0xc], esi
mov dword [edx + 8], esi
push 8
push 0x2000
mov dword [ebp - 8], esi
push 0x900
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, 0x100819b1
mov edi, dword [eax + 0x18]
mov si, 0x42
or esi, dword [eax]
mov edx, dword [ebp - 0xc]
mov dword [ebp - 8], esi
mov dword [eax], eax
mov dword [eax + 0x18], eax
call sub.kernel32.dll_GetCurrentThreadId
mov eax, 0x10081971
mov ecx, dword [eax + 8]
mov esi, dword [ebp - 0xc]
mov esi, 5
mov esi, dword [eax + 0x10]
mov edx, dword [ebp - 8]
and edi, ecx
mov dword [ebp - 0x10], eax
sub dword [eax + 0x88], 8
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], eax
call sub.user32.dll_CreatePopupMenu
mov esi, dword [0x10081c54]
mov ecx, dword [ebp - 0xc]
mov eax, 0x6b
mov edi, dword [0x1008197c]
mov dword [ebp - 0x14], eax
mov dword [0x10081a18], edx
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], eax
mov dword [0x10081a80], edx
push 0x82
push 0
call sub.user32.dll_LoadBitmapA
mov eax, 0x10081985
mov edx, dword [eax + 8]
sub edx, ecx
mov esi, dword [eax]
mov dword [ebp - 8], eax
mov dword [eax + 4], esi
push 0xb0
mov dword [ebp - 0x10], eax
push 0
call sub.user32.dll_LoadBitmapA
mov ecx, dword [0x1008192c]
mov esi, dword [ebp - 0x14]
mov eax, 0x40
mov eax, dword [0x10081c38]
mov dword [ebp - 0xc], eax
mov dword [0x100819fc], ecx
mov dword [0x10081ad0], ecx
mov eax, dword [ebp - 0x14]
lea eax, [ebp - 0x10]
push eax
call sub.user32.dll_CharUpperA
mov edi, dword [0x10081b8c]
mov di, 0x3d
mov esi, dword [0x10081a94]
mov dword [ebp - 0x14], eax
mov dword [0x10081c1c], eax
mov dword [0x10081bac], eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
call sub.user32.dll_CreatePopupMenu
mov esi, dword [0x100818a4]
mov ecx, dword [ebp - 0x10]
mov ax, 0x99
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 8], eax
mov dword [0x100819b4], edi
mov dword [0x100819cc], edx
mov dword [ebp - 0x10], eax
call sub.user32.dll_CreatePopupMenu
mov eax, dword [0x10081a70]
mov eax, dword [ebp - 0x10]
mov ax, 0x20
cmp eax, dword [ebp + 0x1d]
jb 0x10002d74
mov dword [ebp - 8], ecx
mov esi, dword [0x10081930]
mov eax, dword [ebp - 0x14]
mov ax, 0x3b
mov eax, dword [ebp - 8]
mov dword [ebp - 8], esi
mov dword [0x10081a5c], eax
mov dword [0x10081a18], eax
mov eax, dword [0x10081910]
mov dword [ebp - 0x10], ecx
mov dword [0x10081b24], ecx
push 0xc3
push 0
call sub.user32.dll_LoadBitmapA
mov eax, 0x10081989
mov ecx, dword [eax]
mov edi, dword [ebp - 0xc]
mov di, 4
or ecx, dword [ebp - 0x14]
and edi, edx
mov dword [ebp - 0xc], eax
mov dword [eax], eax
call sub.kernel32.dll_GetCurrentThreadId
mov eax, dword [0x10081a50]
mov ecx, dword [ebp - 0x14]
mov ax, 8
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x100819b4]
mov ax, 0x97
mov dword [ebp - 8], ecx
mov dword [0x10081c18], ecx
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 8]
call sub.kernel32.dll_GetCurrentThreadId
mov edx, dword [0x10081c40]
mov edx, dword [ebp - 8]
mov ax, 0x10
mov eax, dword [0x10081880]
cmp eax, dword [ebp + 0x5f]
jb 0x10002e19
mov eax, dword [0x10081ba4]
mov eax, dword [0x10081964]
mov eax, dword [ebp - 8]
add eax, ecx
mov edi, dword [ebp - 0x14]
mov edx, dword [0x10081abc]
mov dword [ebp - 0xc], esi
mov dword [0x10081b80], eax
mov dword [ebp - 0x14], edx
mov dword [0x10081a10], esi
mov edx, dword [0x10081860]
push 0x10081bbc
call sub.user32.dll_CharUpperA
mov ecx, 0x100819b5
mov edx, dword [ecx + 0x10]
mov edx, dword [ebp - 0xc]
mov edx, 0x1a
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], edx
mov dword [ecx + 0x18], eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], ecx
push 4
push 0x2000
mov dword [ebp - 0x10], eax
push 0x1000
mov dword [ebp - 0xc], edi
mov dword [0x100819c4], eax
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, 0x10081999
mov edi, dword [eax]
add edx, edi
inc dword [ebp - 0xc]
mov dword [eax], eax
mov dword [ebp - 8], eax
mov dword [eax], ecx
mov eax, dword [0x10081c24]
push 2
push 0x4000
push 0x1000
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, dword [0x100819a4]
mov eax, dword [ebp - 0x14]
sub esi, edx
cmp dword [0x10081888], 0xa3
ja 0x10002ec5
mov dword [0x10081c4c], ecx
mov eax, dword [0x100819f4]
mov edi, dword [ebp - 0xc]
add edx, edx
mov edi, dword [0x100819fc]
mov dword [ebp - 0x10], esi
mov dword [0x10081950], eax
mov ecx, dword [0x10081bf8]
mov dword [0x10081c5c], esi
call sub.kernel32.dll_GetCurrentThreadId
mov edx, dword [0x10081860]
mov eax, dword [ebp - 8]
mov eax, 2
mov eax, dword [ebp - 0x14]
mov edx, dword [0x10081b80]
mov dword [ebp - 0x10], eax
mov dword [0x10081b2c], eax
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], eax
call sub.user32.dll_CreatePopupMenu
mov eax, dword [0x100818d4]
mov eax, 0x10
mov dword [ebp - 8], eax
mov dword [0x10081938], esi
mov dword [ebp - 0x10], eax
mov dword [0x10081b5c], edi
mov edi, dword [ebp - 8]
call sub.kernel32.dll_GetCurrentThreadId
mov eax, 0x10081969
mov edx, dword [eax + 0x18]
add edi, edx
add ecx, dword [eax]
mov cx, 0xde
mov dword [ebp - 0x10], edi
mov dword [eax], edi
mov dword [ebp - 8], eax
mov dword [ebp - 8], eax
lea edx, [ebp - 0xc]
mov dword [0x10081b38], ecx
push edx
call sub.user32.dll_CharUpperA
mov eax, 0x1008198d
mov edi, dword [ebp - 0x14]
mov ecx, dword [eax + 0x18]
sub edi, edx
mov dword [ebp - 0x14], eax
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x14]
mov edx, dword [eax + 0x10]
sub edx, edi
cmp esi, dword [eax]
jg 0x10002f7f
mov dword [0x10081c2c], edx
mov ecx, dword [ebp - 0x14]
mov esi, dword [eax]
add edi, edx
mov esi, dword [eax]
mov dword [ebp - 0x10], ecx
mov dword [eax + 8], esi
push 0xa5
push 0
call sub.user32.dll_LoadBitmapA
mov edx, dword [0x10081a50]
sub eax, edx
mov dword [ebp - 0x14], eax
mov dword [0x10081a50], eax
mov dword [ebp - 0xc], edi
mov dword [0x10081a80], eax
mov dword [ebp - 0x10], eax
mov ecx, dword [0x10081930]
push 0x10081bf8
call sub.user32.dll_CharUpperA
mov eax, 0x10081985
mov ecx, dword [eax + 0x14]
add ecx, esi
mov ecx, dword [eax + 8]
mov esi, dword [ebp - 8]
mov edi, 2
mov dword [ebp - 0x10], esi
mov dword [eax], eax
mov eax, dword [ebp - 8]
adc edx, dword [ebp - 0x14]
push 0x100818a8
call sub.user32.dll_CharUpperA
mov ecx, dword [0x100818ec]
mov eax, dword [ebp - 0x10]
add edx, edi
mov eax, dword [0x10081960]
mov di, 0x77
mov dword [ebp - 0x10], ecx
mov dword [0x100819d4], eax
mov dword [0x100819c0], ecx
mov eax, dword [ebp - 8]
call sub.user32.dll_CreatePopupMenu
mov edx, 0x100819b1
or eax, dword [edx + 0x94]
sub esi, ecx
mov eax, dword [edx]
mov dword [ebp - 0xc], eax
mov dword [edx], ecx
mov dword [0x10081af4], eax
mov eax, dword [0x10081b3c]
call sub.kernel32.dll_GetCurrentThreadId
mov eax, 0x100819b1
mov ecx, dword [ebp - 0x10]
mov ecx, dword [eax]
mov si, 0x20
mov dword [eax], esi
mov edi, dword [ebp - 0x14]
mov edi, dword [eax + 0x18]
mov edx, 0x26
cmp eax, 1
ja 0x10003073
mov ecx, dword [0x10081918]
mov esi, dword [0x10081a60]
mov esi, dword [ebp - 0x10]
mov edx, dword [eax + 8]
mov edx, 0x8d
mov edx, dword [eax]
mov dword [ebp - 8], eax
mov dword [eax], edx
add edi, ecx
mov esi, dword [0x10081bf8]
mov dword [0x100818b4], eax
push 0x84
push 0
call sub.user32.dll_LoadBitmapA
mov esi, dword [0x10081bcc]
mov edi, 1
add edx, dword [ebp - 8]
mov esi, dword [0x100818e4]
sub eax, eax
mov dword [ebp - 8], edi
mov dword [0x10081b10], esi
mov dword [ebp - 0xc], eax
mov dword [0x100819d0], eax
mov dword [0x10081b44], esi
mov dword [ebp - 0xc], eax
push 8
push 0x2000
push 0x800
mov dword [0x10081bec], ecx
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, 0x100819a5
mov edi, dword [eax + 0xc]
add edi, dword [ebp - 0x14]
mov edx, 0x8a
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0xc], edi
mov dword [eax + 0x10], eax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 8], eax
push 8
push 0x2000
push 0xe00
mov dword [ebp - 0xc], eax
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, dword [0x10081ba4]
add eax, dword [ebp - 8]
mov ax, 0x10
mov eax, dword [ebp - 8]
cmp dword [0x10081860], eax
jle 0x1000314a
mov eax, dword [ebp - 0x14]
mov esi, dword [0x10081b3c]
mov eax, dword [ebp - 0x10]
mov si, 0xb2
mov edx, dword [0x10081c4c]
mov dword [ebp - 8], ecx
mov dword [0x10081bc0], eax
xor dword [0x10081c18], 0xffff
mov dword [0x10081bc0], edi
call sub.user32.dll_CreatePopupMenu
mov esi, dword [0x10081c4c]
mov esi, dword [ebp - 0x14]
mov eax, 1
mov ecx, dword [ebp - 8]
mov ecx, dword [0x10081b78]
mov ecx, 0x10
mov dword [ebp - 8], eax
mov dword [0x10081a10], eax
mov dword [ebp - 0x10], ecx
mov dword [0x10081af4], ecx
push 8
or dword [0x10081860], 0x55000055
push 0x4000
push 0x900
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, 0x100819a5
mov ecx, dword [eax]
mov edx, dword [ebp - 8]
add edx, edx
mov esi, dword [eax]
mov edi, 0x10
mov dword [ebp - 8], eax
mov dword [eax + 0x18], ecx
mov dword [0x10081860], eax
mov esi, dword [ebp - 0xc]
mov dword [0x10081b08], ecx
lea eax, [ebp - 0x14]
push eax
call sub.user32.dll_CharUpperA
mov esi, dword [0x100818b0]
mov eax, dword [ebp - 0xc]
mov edx, 1
mov eax, dword [0x10081aa4]
cmp dword [0x10081a74], eax
jno 0x10003207
mov dword [ebp - 8], eax
mov eax, dword [0x10081860]
mov ecx, dword [ebp - 0x14]
mov eax, 0x54
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
sub dword [0x10081874], 0x2b
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 8]
push eax
call sub.user32.dll_CharUpperA
mov esi, 0x10081961
mov eax, dword [esi + 4]
mov edx, dword [ebp - 8]
mov di, 1
mov eax, dword [esi]
mov eax, 0x40
mov dword [ebp - 0x10], edi
mov dword [esi + 8], ecx
mov dword [ebp - 0xc], ecx
mov dword [esi], eax
mov ecx, dword [ebp - 0xc]
call sub.user32.dll_CreatePopupMenu
mov eax, dword [0x10081944]
add eax, esi
sub eax, ecx
mov dword [ebp - 0x14], esi
mov dword [0x100818dc], eax
mov dword [ebp - 0x10], edi
mov edi, dword [0x10081b78]
mov eax, dword [ebp - 0x14]
call sub.kernel32.dll_GetCurrentThreadId
mov edx, 0x10081991
mov ecx, dword [edx]
or edi, edi
mov eax, dword [edx + 0x18]
mov ecx, dword [ebp - 0x14]
add esi, eax
mov dword [ebp - 0x14], ecx
mov dword [edx + 0x10], eax
mov dword [edx + 0x10], eax
mov edi, dword [0x10081be0]
call sub.user32.dll_CreatePopupMenu
sub eax, dword [0x10081964]
mov eax, dword [ebp - 8]
mov eax, 0x1e
mov eax, dword [ebp - 0x10]
mov eax, dword [0x10081a5c]
xor dword [ebp - 0x14], 0xffffff
mov dword [0x100818c8], eax
mov dword [ebp - 0x14], ecx
mov dword [0x10081bc4], ecx
mov edi, dword [ebp - 0x14]
push 0x10081888
call sub.user32.dll_CharUpperA
mov eax, dword [0x100818c4]
mov esi, dword [ebp - 0x14]
mov ecx, 0x16
mov eax, dword [0x100819ac]
sub eax, esi
cmp dword [0x10081898], 0x20
jae 0x10003303
mov ecx, dword [0x10081c40]
mov eax, dword [ebp - 0x14]
add eax, edi
mov esi, dword [ebp - 0xc]
mov edx, dword [0x100819f0]
mov dword [ebp - 0x10], esi
add dword [0x10081a50], 2
mov dword [ebp - 8], edi
mov dword [0x10081908], eax
mov dword [0x10081860], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [0x10081a60]
mov dword [ebp - 0xc], esi
mov dword [0x10081ab8], eax
push 2
mov dword [0x10081ab4], eax
push 0x2000
push 0x300
push 0
call sub.kernel32.dll_VirtualAlloc
mov ecx, 0x10081961
mov eax, dword [ecx]
sub eax, eax
mov edi, dword [ecx + 4]
mov ax, 0x20
add dword [ebp - 0x10], ecx
mov dword [ecx], ecx
mov dword [ecx + 0xc], eax
mov dword [0x10081a44], edi
call sub.user32.dll_CreatePopupMenu
mov eax, 0x100819a5
mov edx, dword [eax]
mov edx, dword [ebp - 0x10]
mov edx, 0x3e
mov esi, dword [eax]
mov esi, dword [ebp - 0x14]
mov edi, 0x97
mov dword [ebp - 8], edx
mov dword [eax + 0x10], ecx
mov dword [ebp - 8], eax
call sub.user32.dll_CreatePopupMenu
mov eax, 0x1008199d
mov edi, dword [eax]
mov ecx, dword [ebp - 0xc]
add edi, edi
mov edi, dword [eax]
mov dword [ebp - 0x14], ecx
mov dword [eax], ecx
mov dword [ebp - 0xc], edi
sub dword [ebp - 0x10], eax
push 4
mov dword [0x10081be4], eax
push 0x8000
push 0xf00
push 0
call sub.kernel32.dll_VirtualAlloc
xor eax, dword [0x10081b00]
add eax, eax
and esi, dword [0x10081a00]
mov di, 0x20
inc dword [ebp - 0xc]
mov dword [0x10081a7c], edi
mov dword [0x100819e8], eax
mov dword [0x10081ae8], edi
push 4
mov dword [ebp - 0xc], eax
mov dword [0x10081a7c], eax
push 0x4000
mov dword [ebp - 8], edi
push 0x900
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, 0x100819a5
mov edi, dword [eax]
mov esi, 0x2f
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov dword [eax], eax
mov dword [ebp - 0xc], edi
mov eax, dword [0x10081a94]
mov dword [ebp - 8], ecx
push 4
mov dword [ebp - 0x14], eax
push 0x8000
push 0x900
push 0
call sub.kernel32.dll_VirtualAlloc
mov edi, dword [0x10081b0c]
mov eax, dword [ebp - 0xc]
mov eax, 0x9f
mov eax, dword [ebp - 0x14]
mov eax, dword [0x10081b2c]
sub eax, eax
cmp edx, eax
jg 0x10003465
mov dword [0x10081a10], esi
mov edx, dword [0x10081a28]
mov edx, dword [ebp - 8]
mov ax, 0x7e
xor edi, dword [0x100819ec]
mov dword [ebp - 0x10], eax
mov dword [0x10081bc8], eax
mov dword [ebp - 0x14], esi
mov dword [0x10081b6c], eax
mov eax, dword [ebp - 0x10]
mov esi, dword [0x10081c4c]
call sub.user32.dll_CreatePopupMenu
mov eax, 0x10081981
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 4]
add edx, esi
mov esi, dword [eax]
sub edi, edi
cmp dword [ebp + 2], eax
ja 0x1000349a
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov edx, dword [eax + 4]
sub edx, esi
mov esi, dword [ebp - 0xc]
mov dword [ebp - 8], esi
mov dword [eax + 0x14], ecx
lea eax, [ebp - 0xc]
push eax
call sub.user32.dll_CharUpperA
mov eax, 0x10081985
mov ecx, dword [ebp - 8]
mov edx, dword [eax]
mov esi, 0x40
and esi, dword [ebp - 8]
mov edx, dword [eax]
cmp ecx, dword [eax + 0x90]
jae 0x100034d5
mov dword [ebp - 0xc], edi
mov esi, dword [ebp - 8]
mov ecx, dword [eax]
sub edx, edi
mov ecx, dword [eax]
mov dword [ebp - 0x14], edi
mov dword [eax + 0xc], edi
mov cx, 4
mov dword [0x10081918], eax
call sub.user32.dll_CreatePopupMenu
mov edx, dword [0x10081ad8]
mov eax, dword [ebp - 0xc]
add esi, edi
mov eax, dword [ebp - 0xc]
mov ax, 0xe7
cmp dword [0x10081994], 0x20
jb 0x1000351c
mov dword [ebp - 0x14], eax
mov esi, dword [ebp - 8]
mov edi, dword [0x10081870]
mov esi, dword [ebp - 8]
add edx, ecx
mov dword [ebp - 0x10], eax
mov dword [0x10081a70], esi
mov dword [ebp - 0xc], eax
mov dword [0x10081b5c], eax
mov dword [ebp - 0x14], eax
mov dword [0x10081a34], esi
push 0xb1
mov dword [0x100819a8], esi
push 0
call sub.user32.dll_LoadBitmapA
mov eax, dword [0x10081afc]
sub eax, eax
mov eax, dword [0x10081b28]
mov ax, 1
mov dword [ebp - 8], eax
mov dword [0x10081a20], edi
mov dword [0x10081b28], esi
mov eax, dword [ebp - 0xc]
push 0x87
push 0
call sub.user32.dll_LoadBitmapA
mov esi, 0x10081999
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 8]
mov edx, 0x80
mov eax, dword [esi]
mov ecx, dword [ebp - 0xc]
mov edx, 0x20
mov dword [ebp - 0x14], ecx
mov dword [esi + 0xc], eax
mov dword [esi], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [0x10081be0]
mov dword [ebp - 0xc], eax
lea esi, [ebp - 0x10]
push esi
call sub.user32.dll_CharUpperA
mov ecx, dword [0x10081bf0]
sub eax, ecx
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], edx
mov dword [0x10081af8], eax
mov dword [ebp - 0xc], ecx
mov dword [0x10081aac], eax
mov eax, dword [ebp - 0xc]
push 0x10081860
call sub.user32.dll_CharUpperA
mov eax, 0x10081979
mov esi, dword [eax]
sub edx, ecx
mov esi, dword [eax + 0x14]
mov esi, dword [ebp - 0xc]
add ecx, ecx
mov dword [ebp - 0x14], esi
mov dword [eax], edi
mov dword [ebp - 8], eax
mov dword [eax], eax
mov edi, dword [0x10081b00]
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], edx
push 2
push 0x2000
mov dword [ebp - 0x14], ecx
sub dword [0x10081ae4], ecx
push 0x900
push 0
call sub.kernel32.dll_VirtualAlloc
mov eax, 0x10081995
mov edx, dword [eax + 0x14]
mov ecx, 0x10
mov ecx, dword [eax + 8]
mov dword [ebp - 0x14], eax
mov dword [eax + 8], ecx
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
mov dword [0x10081904], eax
call sub.kernel32.dll_GetCurrentThreadId
mov ecx, 0x10081969
mov esi, dword [ecx + 0xc]
mov eax, 1
mov edi, dword [ecx]
mov eax, dword [ebp - 8]
mov ax, 0x80
mov dword [ebp - 8], eax
mov dword [ecx + 0xc], esi
mov dword [ebp - 8], eax
mov dword [ecx + 0x18], edx
call sub.kernel32.dll_GetCurrentThreadId
mov eax, 0x10081965
mov esi, dword [eax + 0x18]
mov edi, dword [ebp - 8]
sub edi, esi
mov esi, dword [eax]
mov edx, dword [ebp - 0x10]
sub esi, edi
mov dword [ebp - 8], ecx
mov dword [eax], esi
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xc]
push 0x10081860
call sub.user32.dll_CharUpperA
mov eax, 0x10081995
mov edi, dword [eax + 0x14]
mov edx, 1
mov edi, dword [ebp - 0xc]
mov esi, 0xf7
mov dword [ebp - 0xc], esi
mov dword [eax], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
add dword [0x100819a4], eax
push 0x3f1
push 0
call sub.user32.dll_LoadBitmapA
mov eax, dword [0x10081910]
sub edx, eax
mov edi, dword [0x10081be4]
mov ax, 2
mov dword [ebp - 0x10], edx
mov dword [0x10081934], eax
mov dword [0x10081ba8], edx
mov eax, dword [ebp - 0xc]
mov dword [0x1008190c], ecx
call sub.user32.dll_CreatePopupMenu
mov edi, dword [0x10081abc]
mov esi, dword [ebp - 8]
mov si, 8
mov eax, dword [ebp - 0x14]
mov eax, dword [0x10081b5c]
mov dword [ebp - 8], eax
mov dword [0x10081b04], edi
mov dword [0x10081ae4], esi
mov dword [0x10081a3c], eax
push 8
mov dword [ebp - 8], eax
push 0x2000
push 0x900
push 0
call sub.kernel32.dll_VirtualAlloc
mov edx, dword [0x10081a64]
mov ecx, dword [ebp - 0x10]
mov eax, 0x3b
mov eax, dword [ebp - 0x10]
mov eax, dword [0x10081a4c]
add eax, ecx
cmp eax, dword [0x10081b5c]
jl 0x1000376e
and esi, dword [0x10081b64]
mov eax, dword [ebp - 0xc]
mov eax, dword [0x10081bfc]
mov eax, dword [ebp - 0x14]
mov ax, 0x10
mov esi, 0xae
mov dword [ebp - 0x10], edx
mov dword [0x10081bc4], eax
mov dword [ebp - 0x10], esi
and dword [0x10081934], 0xffff00ff
mov eax, dword [0x1008197c]
push 0
call sub.kernel32.dll_ExitProcess
dec esp
add byte [edx], dl
add byte [edi], ch
imul esi, dword ss:[ebp], 0x48000062
add byte [eax], al
cmp dword [ebx], ebp
add byte [ecx], bh
push ecx
add byte [eax], al
add byte [eax], al
xor ebx, dword [eax + 0x47]
add byte [ebp + 0x53], dl
add byte [edx], bh
add byte [eax], al
add byte [0], dh
add byte [edx + 0x51], dh
add byte [eax + 0x65], ch
add byte [ebx + 0x81a540d], cl
adc byte [edx + 0x71], bh
mov ecx, dword [0x10081a54]
mov edx, 0x71
mov edi, dword [ebp - 0x10]
mov eax, dword [0x10081864]
mov edx, 0x26
mov dword [ebp - 8], ecx
mov dword [0x10081c10], edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
push 0x10081abc
call sub.user32.dll_CharUpperA
mov eax, dword [0x10081a8c]
sub ecx, dword [ebp - 0xc]
add eax, esi
mov esi, dword [0x10081ad8]
cmp eax, 1
jg 0x1000380b
mov eax, dword [0x10081ab8]
mov edx, dword [ebp - 0x10]
mov cx, 0x1c
mov edi, dword [ebp - 0x10]
mov eax, dword [0x10081b94]
mov dword [ebp - 0xc], eax
mov dword [0x10081860], eax
mov dword [ebp - 0x14], ecx
sbb eax, dword [0x10081bb4]
lea eax, [ebp - 8]
mov dword [0x10081c44], ecx
push eax
call sub.user32.dll_CharUpperA
call fcn.10001c58
mov eax, 0x10081969
mov edx, dword [eax + 0xc]
mov esi, dword [ebp - 0x10]
or ecx, edx
mov dword [ebp - 8], eax
mov dword [eax], eax
mov dword [ebp - 8], eax
mov dword [eax], eax
mov eax, dword [0x10081944]
call sub.user32.dll_CreatePopupMenu
mov eax, 0x10081975
mov ecx, dword [eax]
mov ecx, 0x80
mov dword [ebp - 8], edx
mov dword [eax], eax
mov dword [ebp - 0xc], edi
call fcn.10001510
mov eax, dword [0x10081b18]
xor edi, edi
mov eax, dword [ebp - 0x14]
mov edx, 0xd6
mov dword [ebp - 0xc], eax
mov dword [0x10081b0c], eax
mov dword [ebp - 0xc], eax
mov dword [0x100818a4], esi
mov edx, dword [0x100818c8]
mov dword [ebp - 8], eax
mov eax, 0x10081999
mov ecx, dword [eax]
mov ecx, dword [ebp - 0xc]
add esi, esi
mov ecx, dword [eax + 8]
mov dword [ebp - 0x10], esi
mov dword [eax + 0x14], ecx
mov dword [ebp - 0x10], eax
call fcn.10001c58
mov eax, 0x1008198d
mov edx, dword [eax + 0x18]
mov edi, dword [ebp - 0x10]
mov edi, 1
mov ecx, dword [eax + 8]
mov esi, dword [ebp - 0xc]
add dword [ebp - 0x14], edx
mov dword [eax + 0x14], edx
mov dword [ebp - 0x10], eax
mov dword [0x10081af8], ecx
push 0x10081b98
call sub.user32.dll_CharUpperA
mov edi, 0x10081995
mov eax, dword [edi + 0x14]
mov ax, 0xf
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0xc], eax
mov dword [edi + 0xc], esi
mov dword [ebp - 0x14], eax
mov esi, dword [ebp - 8]
call fcn.10001c58
lea edi, [ebp - 0xc]
push edi
call sub.user32.dll_CharUpperA
mov eax, dword [0x10081b98]
mov si, 0x20
mov eax, dword [ebp - 0xc]
mov edi, dword [0x10081990]
add edi, eax
sub dword [ebp - 0xc], 0x2f
mov dword [0x10081b78], eax
mov dword [ebp - 0x10], edx
mov dword [0x10081860], edi
mov ecx, dword [0x10081ba8]
call fcn.100019b8
mov eax, 0x10081961
mov ecx, dword [eax]
mov si, 2
mov edi, 0x2d
mov dword [ebp - 0x14], esi
mov dword [eax], edi
sub dword [ebp - 0x14], 2
or dword [eax], 4
mov dword [ebp - 0x14], edi
mov eax, dword [0x10081c40]
sub eax, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], eax
mov dword [0x100819ec], ecx
mov dword [ebp - 8], edi
mov dword [0x10081acc], esi
mov esi, dword [0x10081b30]
call fcn.100016bc
push 0x80
push 0
call sub.user32.dll_LoadBitmapA
mov eax, dword [0x10081860]
mov esi, dword [ebp - 0x14]
add edi, eax
mov dword [ebp - 8], ecx
mov dword [0x10081c0c], esi
mov dword [ebp - 8], esi
call fcn.10001934
call fcn.100019b8
mov edi, 0x1008198d
mov ecx, dword [edi]
mov ecx, dword [ebp - 0x10]
or edx, eax
mov ecx, dword [edi]
mov eax, dword [ebp - 8]
sub eax, eax
mov dword [ebp - 0x14], eax
mov dword [edi], edx
mov dword [ebp - 8], eax
call sub.user32.dll_CreatePopupMenu
mov ecx, dword [0x10081b74]
sub eax, esi
and edx, dword [ebp - 0xc]
sbb dword [ebp - 0xc], ecx
mov dword [0x100818c4], ecx
add dword [ebp - 0x10], edi
mov edx, dword [ebp - 8]
call fcn.10001090
mov edx, 0x1008196d
add eax, dword [edx]
mov eax, dword [ebp - 0xc]
sub eax, esi
mov eax, dword [edx]
mov eax, dword [ebp - 0xc]
add esi, esi
mov dword [ebp - 0xc], edx
mov dword [edx], eax
push 0x7c
push 0
call sub.user32.dll_LoadBitmapA
mov edx, 0x10081969
mov eax, dword [edx]
mov ecx, dword [ebp - 8]
add eax, esi
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [ebp - 8], eax
mov dword [edx], eax
mov dword [ebp - 8], eax
mov dword [edx + 0x10], eax
mov dword [0x10081944], esi
call fcn.100043d4
mov ecx, 0x10081985
mov eax, dword [ebp - 0x10]
mov edx, dword [ecx]
mov edx, 0x4e
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x14]
cmp dword [ecx], 4
jne 0x10003a5e
mov edx, dword [ebp - 8]
mov eax, dword [ecx + 8]
mov ax, 0x6e
mov edx, dword [ebp - 8]
mov eax, dword [ecx + 0x18]
mov dword [ebp - 8], eax
mov dword [ecx + 4], eax
mov ax, 0x20
mov eax, 0x10081971
mov ecx, dword [eax]
mov di, 4
lea ecx, [eax + 0x14]
dec dword [ebp - 0xc]
xor dword [eax + 0x84], 0x333333
mov dword [ebp - 0x14], esi
mov ecx, dword [ebp - 0x10]
mov esi, dword [0x10081bc4]
call fcn.10001b18
mov eax, 0x10081965
mov edx, dword [eax]
mov edi, dword [ebp - 8]
add ecx, edi
mov esi, dword [eax]
mov edi, dword [ebp - 0xc]
sub ecx, esi
mov dword [ebp - 0xc], ecx
mov dword [eax], eax
add dword [eax + 0x18], 4
mov dword [0x10081c4c], eax
mov dword [ebp - 0x10], edx
push 0xa0
add dword [ebp - 0x10], edx
push 0
call sub.user32.dll_LoadBitmapA
call fcn.10001b18
mov eax, 0x10081971
mov edi, dword [eax]
mov edx, 0xb6
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov dword [eax + 8], eax
mov eax, 0x100819b5
mov esi, dword [ebp - 8]
sub ecx, dword [eax + 0x94]
mov ecx, 0xf6
mov dword [eax + 0x18], edx
mov edi, dword [ebp - 0x14]
mov edi, dword [eax]
sub edi, edx
cmp edx, dword [eax]
jg 0x10003b13
mov edi, dword [ebp - 8]
mov esi, dword [ebp - 0x14]
mov esi, dword [eax + 0x18]
mov si, 0x23
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], ecx
mov dword [eax + 8], ecx
mov dword [0x1008187c], eax
call fcn.10001934
mov ecx, dword [0x10081bb8]
mov ecx, dword [ebp - 0x10]
mov si, 0x80
mov eax, dword [0x10081bf4]
mov dword [ebp - 8], eax
mov dword [0x100819f0], esi
mov dword [0x100819cc], eax
push 0x8a
push 0
call sub.user32.dll_LoadBitmapA
mov eax, 0x100819b5
mov esi, dword [ebp - 0xc]
mov ecx, dword [eax]
add edi, edi
mov dword [ebp - 0x14], edi
mov edi, dword [eax + 0x18]
mov edi, 0x40
cmp eax, 1
jl 0x10003b7a
mov dword [0x10081860], esi
mov ecx, dword [ebp - 0x10]
mov edi, dword [eax]
mov edx, 1
mov ecx, dword [eax]
add dword [ebp - 0xc], 4
mov dword [eax], ecx
sub edi, edi
mov dword [0x10081b38], eax
call fcn.10001b18
call sub.kernel32.dll_GetCurrentThreadId
mov eax, dword [0x10081958]
mov ecx, dword [ebp - 8]
add esi, eax
mov eax, dword [0x10081aa0]
cmp dword [0x100819a0], 8
jbe 0x10003bcb
mov ecx, dword [0x100818b0]
mov eax, dword [ebp - 0x14]
mov eax, 0x20
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov dword [0x100819d8], edx
mov dword [0x10081b24], eax
mov eax, dword [0x100819f4]
mov dword [0x10081a74], edx
mov dword [0x10081bc0], eax
call fcn.10004434
mov eax, dword [0x100818a0]
mov eax, dword [ebp - 0x10]
sub eax, edx
mov esi, dword [0x10081bdc]
mov dword [ebp - 8], edx
mov dword [0x10081bcc], eax
mov dword [0x10081b5c], ecx
leave
ret