Function at 0x10001000
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb4
push 0x18
call sub.user32.dll_DrawMenuBar
mov eax, dword [0x100503c8]
mov eax, dword [ebp - 0x44]
add eax, ecx
mov ecx, dword [0x100500f8]
add eax, edx
test esi, esi
jle 0x10001043
mov eax, dword [ebp - 0x1c]
mov eax, dword [0x10050248]
mov edi, dword [ebp - 0x40]
sub edi, ecx
mov dword [ebp - 0x3c], eax
mov dword [0x10050320], eax
mov dword [ebp - 0x48], esi
mov dword [0x10050254], eax
mov dword [ebp - 0x48], esi
mov ecx, dword [0x10050018]
mov eax, dword [0x10050018]
push 0x91
mov dword [ebp - 0x4c], edx
push 0
call sub.user32.dll_LoadIconA
mov ecx, dword [0x100501ac]
mov eax, dword [ebp - 0x4c]
add edx, edx
mov edi, dword [ebp - 0x44]
mov eax, dword [0x100501bc]
add edi, esi
cmp dword [ebp + 0xfc], eax
jb 0x1000109e
mov eax, dword [ebp - 0x10]
mov esi, dword [0x1005003c]
mov eax, dword [ebp - 0x28]
sub edi, eax
mov ecx, dword [ebp - 0x18]
mov edx, 0xca
mov dword [ebp - 0x28], eax
mov dword [0x1005040c], eax
mov dword [0x10050160], edx
mov eax, dword [ebp - 0x10]
lea esi, [ebp - 0x40]
mov dword [0x10050130], edi
push esi
call sub.user32.dll_DrawMenuBar
mov esi, dword [0x10050018]
mov edi, dword [ebp - 0x3c]
mov ax, 0x80
mov esi, dword [0x1005027c]
sub eax, eax
cmp dword [ebp + 4], eax
jne 0x100010ef
mov esi, dword [0x10050388]
and ecx, dword [ebp - 0x10]
sub edi, ecx
add esi, eax
mov dword [ebp - 0x24], edi
mov dword [0x10050164], ecx
mov dword [ebp - 0x18], ecx
mov dword [0x10050308], ecx
mov ecx, dword [0x10050104]
mov dword [ebp - 0x40], ecx
push 0xb1
push 0
call sub.user32.dll_LoadIconA
mov eax, dword [0x10050364]
mov esi, dword [ebp - 0x40]
mov eax, 0x1d
cmp esi, dword [0x1005028c]
jb 0x1000113d
mov edx, dword [ebp - 0xc]
mov eax, dword [0x10050104]
mov eax, dword [ebp - 0x10]
mov ax, 0x80
sub esi, dword [ebp - 0x18]
mov eax, dword [0x10050288]
mov dword [ebp - 0x38], esi
mov dword [0x100500bc], eax
mov dword [0x10050090], edx
mov dword [0x100500a8], eax
mov dword [ebp - 0x40], eax
add eax, eax
push eax
call sub.user32.dll_DrawMenuBar
mov edx, dword [0x100502a8]
mov edi, dword [ebp - 0x44]
add edx, esi
mov ecx, dword [ebp - 0x40]
sub eax, eax
cmp dword [0x10050018], 0x80
jg 0x1000118e
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x10050264]
mov ecx, dword [ebp - 0x18]
mov di, 0xa6
mov eax, dword [ebp - 0x34]
mov edx, dword [0x100503a4]
mov dword [ebp - 0x34], eax
mov dword [0x100500d4], eax
mov dword [ebp - 0x38], eax
mov esi, dword [0x100502b8]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x44], eax
push 0xbc
push 0
call sub.user32.dll_LoadIconA
mov ecx, dword [0x10050130]
mov eax, dword [ebp - 0x14]
add eax, esi
cmp eax, dword [ebp + 0x3a]
ja 0x100011d1
mov eax, dword [0x1005008c]
mov esi, dword [ebp - 0x34]
and edi, eax
mov edi, dword [0x100502bc]
mov dword [ebp - 8], edi
mov dword [0x10050210], eax
mov dword [0x1005008c], ecx
mov dword [ebp - 8], eax
mov eax, dword [0x100503c0]
mov dword [ebp - 0x1c], eax
push 0xe00
push 0
call sub.KERNEL32.dll_GlobalAlloc
mov edx, dword [0x10050284]
mov ecx, dword [ebp - 0x28]
sub eax, eax
mov edx, dword [ebp - 0x38]
mov esi, dword [0x100501b8]
mov eax, 0x14
cmp eax, dword [ebp + 8]
jl 0x10001238
mov dword [0x1005002c], ecx
mov edi, dword [0x100501e4]
mov eax, dword [ebp - 0x24]
add esi, eax
mov eax, dword [ebp - 0x40]
mov edx, dword [0x100503b4]
mov edi, 0x51
mov dword [ebp - 0x24], eax
mov dword [0x10050018], eax
mov dword [ebp - 0x4c], esi
mov dword [0x10050174], esi
mov dword [0x100502ac], eax
mov dword [0x100500a0], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [0x10050084]
mov eax, 0x10
push eax
call sub.user32.dll_DrawMenuBar
mov edx, dword [0x1005024c]
mov edx, dword [ebp - 0x28]
mov ecx, 1
mov eax, dword [ebp - 0x48]
cmp dword [ebp + 0x71], eax
jbe 0x10001290
mov dword [0x100500ac], esi
mov edi, dword [0x100502c8]
mov eax, dword [ebp - 0x18]
or esi, esi
mov edi, dword [ebp - 0x10]
mov eax, dword [0x100500e8]
mov dword [ebp - 0x48], ecx
mov dword [0x10050018], eax
mov dword [ebp - 0x14], eax
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [0x1005007c]
push 0xa0
call sub.user32.dll_DrawMenuBar
mov edi, dword [0x1005026c]
mov eax, dword [ebp - 0x20]
mov si, 0xf0
mov ecx, dword [ebp - 0x30]
cmp edx, 1
jl 0x100012dc
mov eax, dword [0x100502f4]
mov eax, dword [ebp - 0x18]
or eax, edi
mov esi, dword [0x100501f8]
add eax, eax
mov dword [ebp - 0x4c], esi
mov dword [0x100503b0], esi
mov dword [ebp - 0x4c], edx
mov dword [0x100501f4], eax
mov eax, dword [0x100502e8]
mov dword [ebp - 0x38], ecx
push 0x75
push 0
call sub.user32.dll_LoadIconA
mov eax, dword [0x10050050]
mov eax, dword [ebp - 8]
add eax, eax
mov eax, dword [ebp - 0x10]
mov eax, 1
cmp edx, dword [ebp + 0x56]
jb 0x10001319
mov eax, dword [0x10050324]
mov edx, dword [ebp - 0x14]
add eax, eax
mov dx, 0x80
mov dword [ebp - 0x44], ecx
mov dword [0x10050380], edx
adc edi, dword [ebp - 0x20]
mov eax, dword [0x1005039c]
push 0x95
push 0
call sub.user32.dll_LoadIconA
mov eax, dword [0x1005022c]
mov eax, dword [ebp - 0x2c]
mov dx, 1
adc edi, dword [0x100500a8]
cmp eax, dword [0x10050184]
jl 0x1000135d
mov esi, dword [0x10050094]
mov edx, dword [ebp - 0x2c]
mov dx, 0xba
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x14], eax
mov dword [0x100502f0], ecx
mov edi, dword [ebp - 8]
push 8
push dword fs:[0x30]
add dword [ebp - 0x58], 0xfffea2f6
call sub.KERNEL32.dll_IsBadReadPtr
cmp eax, 0
je 0x100013df
mov eax, dword [ebp - 0x14]
push eax
push dword [0x1005028c]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, edx
push ecx
call sub.user32.dll_DispatchMessageW
mov ecx, dword [0x10050060]
mov esi, dword [ebp - 0x28]
sub edx, edx
mov ax, 0xb0
cmp dword [ebp + 0x10], edx
jb 0x100013d2
mov dword [0x10050018], eax
mov eax, dword [ebp - 0x2c]
xor eax, dword [0x1005012c]
mov edi, dword [ebp - 0x10]
add edx, esi
mov eax, dword [ebp - 0x38]
add eax, esi
mov dword [ebp - 0x4c], eax
mov dword [0x100502f0], edi
mov dword [0x100502d4], ecx
mov ecx, dword [ebp - 0x20]
mov dword [0x100503f4], eax
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [0x10050018]
or eax, dword [ebp - 8]
add eax, edx
mov esi, dword [0x100501b0]
mov esi, 4
cmp edi, dword [0x10050180]
jne 0x10001425
mov dword [ebp - 0x4c], ecx
mov edx, dword [0x10050368]
mov eax, dword [ebp - 0x18]
add eax, eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [0x100500e0]
add eax, esi
mov dword [ebp - 8], edx
mov dword [0x1005027c], ecx
mov dword [0x10050160], eax
mov dword [ebp - 8], eax
mov esi, dword [ebp - 8]
mov ecx, dword [0x100500a4]
mov edi, dword [ebp - 0x20]
add esi, eax
mov eax, dword [ebp - 0x2c]
add edx, esi
cmp ecx, 1
jg 0x10001463
mov ecx, dword [0x10050148]
mov esi, dword [0x10050018]
mov esi, dword [ebp - 8]
sub eax, edi
mov edx, 0x80
mov dword [ebp - 0x30], eax
mov dword [0x10050360], eax
mov dword [0x100502bc], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 8], edi
push 0x67
add dword [0x10050018], 0x79
push 0
call sub.user32.dll_LoadIconA
adc edi, dword [0x100501b4]
mov esi, dword [ebp - 0x28]
mov cx, 0xff
mov eax, dword [0x100503b0]
mov si, 0x20
cmp dword [ebp + 0x80], edi
jne 0x100014bb
mov dword [0x100500ac], eax
mov dword [ebp - 0xc], eax
mov eax, dword [0x1005027c]
mov esi, dword [ebp - 0x30]
sub edi, ecx
mov eax, dword [ebp - 0x1c]
mov edi, dword [0x100500b0]
mov dx, 0x27
mov dword [ebp - 0x28], eax
mov dword [0x100503a8], eax
mov dword [0x10050018], eax
mov dword [ebp - 0x4c], edi
mov dword [0x100502b0], esi
push 0xa1
mov dword [0x10050160], eax
push 0
call sub.user32.dll_LoadIconA
mov edx, dword [0x1005003c]
mov eax, dword [ebp - 0x3c]
mov ax, 4
xor esi, dword [0x10050024]
mov ecx, 0x20
cmp dword [0x10050320], 0x80
jae 0x1000151d
mov dword [ebp - 0x2c], edx
mov eax, dword [0x1005018c]
mov ecx, dword [ebp - 0x1c]
sub eax, eax
mov dword [ebp - 0x1c], eax
mov dword [0x10050178], eax
mov dword [0x10050314], eax
mov eax, dword [0x1005020c]
mov eax, dword [0x100502a8]
mov eax, dword [0x10050184]
mov esi, dword [ebp - 0x1c]
add edx, edi
mov ecx, dword [0x10050034]
cmp eax, 0
jb 0x10001560
mov eax, dword [0x10050110]
mov ecx, dword [0x100500cc]
or edx, dword [ebp - 0x20]
add eax, edx
mov di, 0x36
mov dword [ebp - 0x14], edi
add dword [0x10050084], 0x7c
mov dword [0x100501b8], eax
mov dword [0x10050018], esi
mov eax, dword [ebp - 0x20]
call fcn.10001fa0
mov eax, dword [0x10050130]
mov eax, dword [ebp - 0x18]
mov esi, 2
cmp edx, dword [0x1005007c]
jbe 0x100015ab
mov dword [0x10050374], eax
mov ecx, dword [0x10050334]
mov esi, dword [ebp - 0x18]
mov edx, 0xd0
mov edi, dword [ebp - 0x28]
mov eax, dword [0x10050210]
add edx, eax
mov dword [ebp - 0x30], ecx
mov dword [0x100503ec], edx
mov dword [ebp - 0x34], edi
mov dword [0x10050374], eax
mov ecx, dword [0x10050184]
mov eax, dword [0x100502e0]
mov dword [0x1005007c], edi
push 0x700
push 0x40
call sub.KERNEL32.dll_GlobalAlloc
call fcn.1000239c
xor edx, dword [0x10050298]
mov ecx, dword [ebp - 0x28]
mov dx, 0xd0
mov eax, dword [ebp - 0x3c]
mov edi, dword [0x10050144]
cmp dword [0x10050050], 0xf8
jbe 0x10001612
mov edx, dword [0x1005024c]
mov esi, dword [0x10050374]
mov edx, dword [ebp - 0x1c]
mov ax, 1
add eax, eax
mov dword [ebp - 0x44], eax
mov dword [0x100500d4], ecx
mov dword [0x10050410], eax
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x100501b4]
mov eax, dword [ebp - 0x2c]
mov ax, 8
cmp dword [0x100502f8], 0x95
jl 0x1000165c
mov dword [ebp - 0x44], eax
mov edx, dword [0x10050018]
mov edi, dword [ebp - 0x14]
mov ecx, 4
mov ecx, dword [0x10050018]
mov edx, 0x10
mov dword [ebp - 0x14], eax
mov dword [0x1005024c], edi
mov dword [ebp - 0x20], esi
sub dword [0x100503e8], edi
call fcn.1000233e
mov esi, dword [0x10050018]
mov edi, dword [ebp - 0x24]
sub eax, eax
mov ecx, dword [0x100502bc]
mov edx, 0xe9
cmp eax, 0
jbe 0x100016a3
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov eax, dword [0x100500a0]
mov eax, dword [ebp - 0x20]
sub esi, esi
mov eax, dword [0x100500e0]
mov dword [ebp - 0x14], eax
mov dword [0x10050090], edi
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x38], eax
mov edi, dword [0x100503a4]
or dword [ebp - 0x48], 0xffffff
mov esi, dword [0x1005039c]
mov ecx, dword [ebp - 0x4c]
mov ecx, 0xd8
mov ax, 0xad
cmp eax, 1
jae 0x100016f1
mov eax, dword [0x10050260]
mov esi, dword [ebp - 0x40]
sub ecx, esi
mov eax, dword [ebp - 0x1c]
mov esi, dword [0x100501e0]
add eax, edx
adc dword [ebp - 0x40], edx
mov dword [0x10050060], eax
mov dword [ebp - 0x34], eax
mov dword [0x100503b4], eax
mov dword [0x100500c4], eax
mov dword [0x10050124], ecx
call fcn.100030aa
mov esi, dword [0x10050134]
mov ecx, dword [ebp - 0x10]
add eax, edx
xor eax, ecx
cmp dword [0x100500f0], 4
jg 0x10001739
mov edx, dword [0x1005004c]
mov edi, dword [ebp - 0x4c]
add eax, eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [0x10050030]
mov dword [ebp - 0xc], eax
mov dword [0x100502b4], eax
mov dword [0x10050238], eax
mov esi, dword [0x100501dc]
mov dword [0x100503a8], ecx
mov ecx, dword [0x10050048]
mov eax, dword [ebp - 0xc]
sub edi, ecx
mov esi, dword [ebp - 0x20]
add eax, eax
cmp dword [0x1005021c], eax
jg 0x1000177e
add dword [0x10050280], 2
mov eax, dword [0x10050018]
mov eax, dword [ebp - 0x14]
add eax, edi
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], edx
and dword [0x100502fc], 0xffffff
mov dword [ebp - 0x48], eax
mov dword [ebp - 8], edx
mov eax, dword [0x1005026c]
mov eax, dword [0x10050030]
call fcn.1000239c
push 0x82
and dword [0x100503f0], eax
push 0
call sub.user32.dll_LoadIconA
mov eax, dword [0x10050188]
mov eax, dword [ebp - 0x10]
mov eax, 4
sub ecx, dword [0x100501d4]
cmp eax, dword [0x100501bc]
jne 0x100017e1
mov dword [0x100501f0], ecx
mov eax, dword [0x100500e8]
mov eax, dword [ebp - 0x28]
sub edi, ecx
mov ecx, dword [ebp - 0x24]
mov esi, dword [0x10050368]
mov dword [ebp - 0x10], edi
mov dword [0x10050074], eax
mov esi, dword [0x10050334]
mov edi, dword [0x100503e0]
call fcn.10002f3f
mov dword [0x1005020c], edx
push 0x69
push 0
call sub.user32.dll_LoadIconA
mov edx, dword [0x1005028c]
mov eax, dword [ebp - 0x10]
and eax, ecx
cmp edx, dword [0x1005004c]
jg 0x10001840
xor edx, dword [ebp - 0x44]
mov edx, dword [0x10050110]
mov eax, dword [ebp - 0x10]
mov edx, 0x1a
mov eax, dword [ebp - 0x2c]
mov esi, dword [0x100501d8]
mov dword [ebp - 0x38], esi
mov dword [0x10050368], ecx
mov dword [ebp - 8], esi
mov dword [0x10050314], edx
mov dword [0x10050018], edx
mov dword [ebp - 0x48], eax
call fcn.1000239c
mov ecx, dword [0x10050018]
mov edx, dword [ebp - 0x10]
add ecx, eax
mov eax, dword [0x100503a8]
sub eax, ecx
cmp dword [0x10050128], 0x5c
jo 0x10001886
mov edx, dword [0x10050224]
mov ecx, dword [ebp - 0x18]
mov di, 0x20
mov eax, dword [ebp - 0x34]
mov eax, dword [0x10050018]
mov eax, 1
mov dword [ebp - 0x40], edi
xor dword [0x10050380], esi
mov dword [ebp - 0x4c], ecx
mov edi, dword [0x100502c8]
mov edx, dword [0x10050298]
mov edi, dword [ebp - 0xc]
sub esi, edi
or ecx, dword [0x10050018]
mov ax, 1
cmp dword [0x10050154], eax
jne 0x100018d6
mov dword [ebp - 0x10], edi
mov eax, dword [0x10050120]
mov ecx, dword [ebp - 0x30]
sub eax, ecx
mov eax, dword [ebp - 0x18]
mov ax, 0xea
mov dword [ebp - 8], eax
mov dword [0x10050018], eax
mov dword [0x10050128], eax
sub dword [0x1005028c], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
call fcn.10002247
push 0x6b
push 0
call sub.user32.dll_LoadIconA
call fcn.1000233e
mov edx, dword [ebp - 0xc]
push edx
call sub.user32.dll_DrawMenuBar
mov eax, dword [0x100501bc]
mov edi, dword [ebp - 0x30]
add eax, eax
mov eax, dword [0x1005036c]
cmp eax, 1
ja 0x1000192f
mov edx, dword [ebp - 0x24]
mov eax, dword [0x10050358]
mov ecx, dword [ebp - 0x24]
add ecx, eax
mov edx, 0x10
mov dword [ebp - 0x40], eax
mov dword [0x10050080], edi
mov dword [0x100502f0], edx
mov eax, dword [0x100503a8]
call fcn.100026b6
mov eax, dword [0x10050128]
mov eax, dword [ebp - 0xc]
mov eax, 2
mov eax, dword [ebp - 0x34]
cmp ecx, dword [ebp + 0x73]
jg 0x1000196b
mov dword [ebp - 0x2c], eax
mov edi, dword [0x10050370]
xor eax, dword [ebp - 0x28]
sub eax, edx
mov ecx, dword [0x1005029c]
mov dword [ebp - 0x44], eax
mov dword [0x100500e8], eax
mov edi, dword [0x10050258]
mov eax, dword [0x100503dc]
mov eax, dword [ebp - 0xc]
mov si, 0x80
mov eax, dword [ebp - 0x48]
mov eax, dword [0x10050334]
sub eax, eax
cmp edi, 0
jg 0x100019b2
mov dword [ebp - 0x4c], eax
mov eax, dword [0x10050244]
mov esi, dword [ebp - 0x24]
mov esi, 0xce
add eax, edx
mov dword [ebp - 0xc], eax
mov dword [0x10050340], edx
mov dword [ebp - 0x4c], eax
mov dword [0x1005013c], eax
mov edx, dword [0x10050330]
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x10]
call fcn.100026b6
mov dword [0x10050414], eax
push dword [0x10050254]
call sub.user32.dll_DrawMenuBar
call fcn.1000239c
push ecx
call sub.user32.dll_DrawMenuBar
mov edx, dword [0x10050228]
mov eax, dword [ebp - 0x34]
add edx, edx
sub ecx, esi
cmp esi, 0
jnp 0x10001a06
mov esi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x48]
mov esi, dword [0x1005025c]
mov eax, dword [ebp - 0x1c]
add esi, eax
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
mov dword [0x10050020], eax
mov dword [ebp - 0x40], esi
mov edx, dword [0x100502a0]
mov dword [ebp - 0x34], edx
call fcn.10003834
mov edx, dword [0x10050018]
mov ecx, dword [ebp - 0x20]
sub edi, eax
mov eax, dword [ebp - 0x1c]
cmp dword [0x100503a4], 8
jge 0x10001a5c
mov dword [0x100503ac], edi
mov ecx, dword [0x100502c8]
mov eax, dword [ebp - 0x3c]
mov ecx, 1
mov ecx, dword [0x10050018]
mov edx, 2
mov dword [ebp - 0x2c], esi
mov dword [0x100502a8], edi
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [0x10050030]
mov esp, ebp
pop ebp
ret