Function at 0x40a7c0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
sub esp, 0x17c
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
cmp eax, 0x104
jae 0x40a86e
cmp eax, 6
jae 0x40aaf2
cmp eax, 5
jne 0x40abd1
mov eax, 0x462124
call fcn.00409ef0
cmp dword [0x462490], 0
jne 0x40a84b
cmp dword [0x4624b4], 0
jne 0x40a84b
mov eax, edx
and eax, 0xffff
mov dword [0x45d588], eax
mov eax, edx
shr eax, 0x10
and eax, 0xffff
mov ebx, dword [0x46249c]
mov dword [0x45d58c], eax
test ebx, ebx
je 0x40a84b
lea eax, [ebp - 0x1c]
push eax
push ebx
call dword [sym.imp.USER32.DLL_GetWindowRect]
test eax, eax
je 0x40a84b
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
sub dword [0x45d58c], eax
mov ecx, dword [0x46249c]
test ecx, ecx
je 0x40a862
push 0
push 0
push 5
push ecx
call dword [sym.imp.USER32.DLL_SendMessageA]
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
ja 0x40a8ca
mov eax, edx
shr eax, 0x10
test ah, 0x20
je 0x40b698
cmp dword [0x462478], 0
je 0x40a88c
call fcn.0040ca50
mov ecx, dword [ebp + 0x10]
cmp ecx, 0x21
jae 0x40b610
cmp ecx, 0xd
jne 0x40b698
shr edx, 0x10
test dh, 0x40
jne 0x40a862
push 0
push 0x389
push 0x111
mov eax, dword [ebp + 8]
push eax
call fcn.0040a7c0
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
cmp eax, 0x211
jae 0x40a931
cmp eax, 0x111
jae 0x40a9d6
cmp eax, 0x105
jne 0x40aad8
shr edx, 0x10
test dh, 0x20
je 0x40b604
or byte [0x4624a3], 0x40
mov eax, dword [ebp + 0x10]
xor edx, edx
call fcn.0040b6f0
cmp dword [0x454848], 0
je 0x40a862
mov eax, dword [ebp + 0x10]
or eax, 0x80000000
or eax, dword [0x4624a0]
call dword [0x454848]
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
jbe 0x40ad6e
cmp eax, 0x231
jae 0x40a965
cmp eax, 0x212
jne 0x40aad8
mov edx, dword [0x46246c]
mov eax, dword [0x458fec]
call fcn.00406b60
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
jbe 0x40ad6e
cmp eax, 0x233
jne 0x40a9aa
cmp dword [0x462450], 0
je 0x40a994
push 0
push 0
push 0xffffffffffffffff
mov edx, dword [ebp + 0x10]
push edx
call dword [sym.imp.SHELL32.DLL_DragQueryFileA]
cmp eax, 1
je 0x40accb
mov ebx, dword [ebp + 0x10]
push ebx
call dword [sym.imp.SHELL32.DLL_DragFinish]
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
cmp eax, 0x232
jne 0x40aad8
mov ecx, dword [0x45d58c]
mov ebx, dword [0x45d588]
mov edx, dword [0x4624c0]
mov eax, dword [0x4624bc]
call fcn.00408670
jmp 0x40a949
ja 0x40aa3b
mov eax, dword [ebp + 0x10]
xor edx, edx
mov dx, ax
mov ecx, edx
xor cl, al
cmp ecx, 0x1000
je 0x40ade9
sub eax, 0x384
cmp ax, 0x31
ja case.0x40aa01.47
and eax, 0xffff
jmp dword [eax*4 + 0x40a6f4]
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.USER32.DLL_DestroyWindow]
cmp dword [0x462450], 0
je 0x40a862
mov eax, dword [ebp + 0x10]
and eax, 0xffff
xor edx, edx
call dword [0x462450]
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
cmp eax, 0x200
jb 0x40aad8
cmp eax, 0x202
ja 0x40aac6
xor esi, esi
mov si, dx
shr edx, 0x10
and edx, 0xffff
cmp dword [0x462124], 0
je 0x40adc5
mov eax, dword [0x462128]
mov ecx, eax
mov eax, dword [0x462124]
test eax, eax
je 0x40aa7d
mov eax, dword [0x46212c]
test byte [ebp + 0x10], 1
je 0x40adcc
mov edi, 0x40000000
push eax
mov ebx, dword [0x461004]
push ecx
mov eax, esi
mov ecx, dword [0x461000]
call fcn.0040d7a0
or edi, eax
test byte [ebp + 0x10], 2
je 0x40add3
mov eax, 0x80000000
or edi, eax
mov dword [0x462488], edi
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
cmp eax, 0x204
jb 0x40aad8
cmp eax, 0x205
jbe 0x40aa4d
push edx
mov esi, dword [ebp + 0x10]
push esi
push eax
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.USER32.DLL_DefWindowProcA]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
ja 0x40ab3f
test word [ebp + 0x10], 0xffff
je 0x40ad90
cmp dword [0x462490], 0
je 0x40ab1b
xor edx, edx
mov dword [0x4624b4], 1
mov dword [0x462490], edx
mov edx, dword [0x46246c]
mov eax, dword [0x458fec]
xor ebx, ebx
call fcn.00406b60
mov dword [0x4624a4], ebx
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
cmp eax, 0x10
jae 0x40abb0
cmp eax, 0xf
jne 0x40aad8
lea eax, [ebp - 0x5c]
push eax
mov esi, dword [ebp + 8]
push esi
call dword [sym.imp.USER32.DLL_BeginPaint]
mov edi, dword [0x454844]
test edi, edi
je 0x40ab96
cmp dword [edi], 0
je 0x40ab96
mov ecx, dword [0x462124]
test ecx, ecx
jne 0x40ac7e
push ecx
mov ebx, dword [0x461008]
push ecx
mov ecx, dword [0x461000]
mov edx, dword [0x46100c]
push ecx
mov eax, edi
mov ecx, dword [0x461004]
call fcn.004095f0
lea eax, [ebp - 0x5c]
push eax
mov ebx, dword [ebp + 8]
push ebx
call dword [sym.imp.USER32.DLL_EndPaint]
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
jbe 0x40ac68
cmp eax, 0x101
je 0x40a8e7
cmp eax, 0x100
je 0x40a870
jmp 0x40aad8
cmp eax, 3
jne 0x40ac22
cmp dword [0x462490], 0
jne 0x40a862
cmp dword [0x4624b4], 0
jne 0x40a862
lea eax, [ebp - 0x1c]
push eax
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.USER32.DLL_GetWindowRect]
test eax, eax
je 0x40a862
mov eax, dword [ebp - 0x1c]
mov dword [0x4624bc], eax
mov eax, dword [ebp - 0x18]
mov dword [0x4624c0], eax
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
cmp eax, 2
jne 0x40aad8
call fcn.0040c4a0
call fcn.00407660
xor eax, eax
call fcn.00409cf0
xor eax, eax
mov dword [0x4624a4], eax
mov dword [0x454844], eax
cmp dword [0x462450], 0
jne 0x40ad55
push eax
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov ebx, dword [ebp + 8]
push ebx
call dword [sym.imp.USER32.DLL_DestroyWindow]
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
mov ebx, dword [0x462490]
test ebx, ebx
jne 0x40aca3
push ebx
push ebx
mov edx, dword [0x46212c]
mov eax, 0x462124
push edx
mov ecx, dword [0x462128]
xor edx, edx
jmp 0x40ab91
mov esi, dword [0x462474]
push esi
mov edi, dword [0x462464]
mov eax, dword [0x46212c]
push edi
mov ecx, dword [0x462128]
xor ebx, ebx
push eax
xor edx, edx
mov eax, 0x462124
jmp 0x40ab91
push 0
push 0
push 0
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.SHELL32.DLL_DragQueryFileA]
test eax, eax
je 0x40ad3f
lea edx, [eax + 1]
mov eax, edx
call fcn.0042c650
mov ebx, eax
mov esi, eax
test eax, eax
je 0x40ad1a
push edx
push eax
push 0
mov edi, dword [ebp + 0x10]
push edi
call dword [sym.imp.SHELL32.DLL_DragQueryFileA]
test eax, eax
je 0x40ad1a
mov eax, 0x3b3
mov edx, ebx
call dword [0x462450]
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.DLL_SetForegroundWindow]
mov edx, dword [ebp + 0x10]
push edx
call dword [sym.imp.SHELL32.DLL_DragFinish]
test esi, esi
je 0x40a862
mov eax, esi
call fcn.0042c770
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.SHELL32.DLL_DragFinish]
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
mov eax, 0x384
xor edx, edx
call dword [0x462450]
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
mov eax, dword [0x458fe8]
xor edx, edx
mov dword [0x46246c], eax
mov eax, dword [0x458fec]
call fcn.00406b60
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
mov eax, dword [0x458fe8]
mov dword [0x46246c], eax
cmp dword [0x462480], 0
jne 0x40adaf
mov eax, dword [0x458fec]
xor edx, edx
call fcn.00406b60
mov dword [0x4624a4], 1
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
xor eax, eax
jmp 0x40aa6d
xor edi, edi
jmp 0x40aa8c
xor eax, eax
or edi, eax
mov dword [0x462488], edi
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
and al, 0x1f
xor ecx, ecx
mov cl, al
mov eax, edx
sar eax, 6
and eax, 3
and eax, 0xff
mov edx, ecx
call fcn.0040c2a0
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
mov eax, dword [ebp + 0x10]
mov edx, dword [0x46247c]
and eax, 0xffff
mov eax, dword [eax*4 + 0x45823c]
call fcn.0040c320
jmp case.0x40aa01.47
mov eax, dword [ebp + 0x10]
and eax, 0xffff
mov edx, dword [eax*4 + 0x458240]
mov eax, dword [0x462470]
call fcn.0040c320
jmp case.0x40aa01.47
test byte [0x4624ab], 8
je 0x40aebc
mov edx, dword [0x461000]
shl edx, 2
mov ecx, 3
mov eax, edx
sar edx, 0x1f
idiv ecx
mov edx, dword [ebp + 0x10]
and edx, 0xffff
sub edx, 0x384
imul eax, edx
mov dword [0x45d588], eax
mov eax, dword [0x461000]
imul edx, eax
mov ebx, dword [0x45d588]
mov eax, dword [0x4624bc]
mov dword [0x45d58c], edx
mov ecx, edx
mov edx, dword [0x4624c0]
call fcn.00408670
test eax, eax
je case.0x40aa01.47
xor esi, esi
mov dword [0x462490], esi
jmp case.0x40aa01.47
mov eax, dword [0x461004]
jmp 0x40ae6a
mov eax, dword [0x4624a8]
and eax, 0x404
cmp eax, 4
jne 0x40aef0
xor eax, eax
mov edx, dword [0x4624a8]
and eax, 0x404
and dx, 0xfbfb
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 4
jmp 0x40aed4
mov eax, dword [0x4624a8]
and eax, 0x404
cmp eax, 0x400
jne 0x40af26
xor eax, eax
mov edx, dword [0x4624a8]
and eax, 0x404
and dx, 0xfbfb
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 0x400
jmp 0x40af0a
mov eax, dword [0x4624a8]
and eax, 0x404
cmp eax, 0x404
jne 0x40af5c
xor eax, eax
mov edx, dword [0x4624a8]
and eax, 0x404
and dx, 0xfbfb
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 0x404
jmp 0x40af40
mov eax, dword [0x4624a8]
and eax, 0x20c0000
cmp eax, 0x40000
jne 0x40af93
xor eax, eax
mov edx, dword [0x4624a8]
and eax, 0x20c0000
and edx, 0xfdf3ffff
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 0x40000
jmp 0x40af76
mov eax, dword [0x4624a8]
and eax, 0x20c0000
cmp eax, 0x80000
jne 0x40afca
xor eax, eax
mov edx, dword [0x4624a8]
and eax, 0x20c0000
and edx, 0xfdf3ffff
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 0x80000
jmp 0x40afad
mov eax, dword [0x4624a8]
and eax, 0x20c0000
cmp eax, 0x2000000
jne 0x40b001
xor eax, eax
mov edx, dword [0x4624a8]
and eax, 0x20c0000
and edx, 0xfdf3ffff
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 0x2000000
jmp 0x40afe4
mov eax, dword [0x4624a8]
and eax, 0x20c0000
cmp eax, 0x2040000
jne 0x40b038
xor eax, eax
mov edx, dword [0x4624a8]
and eax, 0x20c0000
and edx, 0xfdf3ffff
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 0x2040000
jmp 0x40b01b
mov eax, dword [0x4624a8]
and eax, 0x20c0000
cmp eax, 0x2080000
jne 0x40b070
xor eax, eax
mov edx, eax
mov eax, dword [0x4624a8]
and edx, 0x20c0000
and eax, 0xfdf3ffff
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 0x2080000
jmp 0x40b052
mov eax, dword [0x4624a8]
and eax, 0x20c0000
cmp eax, 0x20c0000
jne 0x40b0a7
xor eax, eax
mov edx, dword [0x4624a8]
and eax, 0x20c0000
and edx, 0xfdf3ffff
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 0x20c0000
jmp 0x40b08a
mov eax, dword [0x4624a8]
and eax, 0x1001002
cmp eax, 2
jne 0x40b0dc
xor eax, eax
mov edx, dword [0x4624a8]
and eax, 0x1001002
and edx, 0xfeffeffd
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 2
jmp 0x40b0bf
mov eax, dword [0x4624a8]
and eax, 0x1001002
cmp eax, 0x1000
jne 0x40b113
xor eax, eax
mov edx, dword [0x4624a8]
and eax, 0x1001002
and edx, 0xfeffeffd
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 0x1000
jmp 0x40b0f6
mov eax, dword [0x4624a8]
and eax, 0x1001002
cmp eax, 0x1002
jne 0x40b14a
xor eax, eax
mov edx, dword [0x4624a8]
and eax, 0x1001002
and edx, 0xfeffeffd
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 0x1002
jmp 0x40b12d
mov eax, dword [0x4624a8]
and eax, 0x1001002
cmp eax, 0x1000000
jne 0x40b181
xor eax, eax
mov edx, dword [0x4624a8]
and eax, 0x1001002
and edx, 0xfeffeffd
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 0x1000000
jmp 0x40b164
mov eax, dword [0x4624a8]
and eax, 0x1001002
cmp eax, 0x1000002
jne 0x40b1b8
xor eax, eax
mov edx, dword [0x4624a8]
and eax, 0x1001002
and edx, 0xfeffeffd
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 0x1000002
jmp 0x40b19b
mov eax, dword [0x4624a8]
and eax, 0x1001002
cmp eax, 0x1001000
jne 0x40b1ef
xor eax, eax
mov edx, dword [0x4624a8]
and eax, 0x1001002
and edx, 0xfeffeffd
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 0x1001000
jmp 0x40b1d2
mov eax, dword [0x4624a8]
and eax, 0x1001002
cmp eax, 0x1001002
jne 0x40b227
xor eax, eax
mov edx, eax
mov eax, dword [0x4624a8]
and edx, 0x1001002
and eax, 0xfeffeffd
or eax, edx
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, 0x1001002
jmp 0x40b209
mov eax, dword [0x4624a8]
xor ah, 1
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, dword [0x4624a8]
xor al, 0x10
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, dword [0x4624a8]
xor eax, 0x8000000
call fcn.004089b0
test byte [0x4624ab], 8
je 0x40b2d9
mov edx, dword [0x45d58c]
shl edx, 2
mov ecx, 3
mov eax, edx
sar edx, 0x1f
idiv ecx
mov ebx, eax
mov edx, ebx
mov eax, ebx
sar edx, 0x1f
idiv dword [0x45d58c]
mov dword [0x45d588], ebx
mov ecx, eax
cmp eax, 1
jle 0x40b2a8
mov edx, ebx
mov eax, ebx
sar edx, 0x1f
idiv ecx
mov dword [0x45d588], eax
mov ecx, dword [0x45d58c]
mov ebx, dword [0x45d588]
mov edx, dword [0x4624c0]
mov eax, dword [0x4624bc]
call fcn.00408670
test eax, eax
je case.0x40aa01.47
xor edi, edi
mov dword [0x462490], edi
jmp case.0x40aa01.47
mov edx, dword [0x461004]
imul edx, dword [0x45d58c]
mov eax, edx
sar edx, 0x1f
idiv dword [0x461000]
jmp 0x40b27e
call fcn.00408270
jmp case.0x40aa01.47
call fcn.00408510
test eax, eax
je case.0x40aa01.47
mov edx, dword [ebp + 8]
push edx
jmp 0x40aa0c
mov dword [0x4624b4], 1
jmp case.0x40aa01.47
mov eax, dword [0x4624a8]
xor al, 8
call fcn.004089b0
jmp case.0x40aa01.47
mov eax, dword [0x4624a8]
xor ah, 2
call fcn.004089b0
jmp case.0x40aa01.47
cmp dword [0x462480], 0
sete al
and eax, 0xff
mov dword [0x462480], eax
je 0x40b360
mov eax, 8
push eax
push 0x395
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.DLL_GetMenu]
push eax
call dword [sym.imp.USER32.DLL_CheckMenuItem]
jmp case.0x40aa01.47
mov eax, 2
call fcn.00406e80
mov eax, 3
call fcn.00406e80
test eax, eax
je 0x40b399
mov eax, 8
push eax
push 0x397
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.USER32.DLL_GetMenu]
push eax
call dword [sym.imp.USER32.DLL_CheckMenuItem]
jmp case.0x40aa01.47
mov ebx, 1
mov edx, 0x4433f5
mov eax, 0x44342f
call fcn.004087b0
test eax, eax
je case.0x40aa01.47
mov edi, 0x461f24
mov esi, eax
push edi
mov al, byte [esi]
mov byte [edi], al
cmp al, 0
je 0x40b3f1
mov al, byte [esi + 1]
add esi, 2
mov byte [edi + 1], al
add edi, 2
cmp al, 0
jne 0x40b3d9
pop edi
mov eax, edi
call fcn.00406d30
mov eax, 1
call fcn.00406e80
mov eax, 3
call fcn.00406e80
test eax, eax
je 0x40b416
mov eax, 8
push eax
push 0x397
mov esi, dword [ebp + 8]
push esi
call dword [sym.imp.USER32.DLL_GetMenu]
push eax
call dword [sym.imp.USER32.DLL_CheckMenuItem]
jmp case.0x40aa01.47
call fcn.0040c9a0
jmp case.0x40aa01.47
mov ecx, dword [0x45d580]
push ecx
push ecx
mov eax, 0x443443
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.0042c8a0
add esp, 0x10
lea eax, [ebp - 0x188]
call fcn.0040c940
jmp case.0x40aa01.47
mov edx, dword [0x45d580]
push edx
mov eax, 0x443464
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.0042c8a0
add esp, 0xc
lea eax, [ebp - 0x188]
call fcn.0040c940
jmp case.0x40aa01.47
mov esi, 0x44347e
lea edi, [ebp - 0x188]
lea ebx, [ebp - 0x188]
push edi
mov al, byte [esi]
mov byte [edi], al
cmp al, 0
je 0x40b4bf
mov al, byte [esi + 1]
add esi, 2
mov byte [edi + 1], al
add edi, 2
cmp al, 0
jne 0x40b4a7
pop edi
lea edi, [ebp - 0x188]
xor edx, edx
sub ecx, ecx
dec ecx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ebx, ecx
mov esi, dword [0x45d580]
lea eax, [esi + edx]
mov cl, byte [eax]
test cl, cl
je 0x40b4f6
mov al, cl
and eax, 0xff
inc ebx
call fcn.0042de50
inc edx
mov byte [ebx - 1], al
jmp 0x40b4d4
mov edx, 0x4434b5
mov eax, esi
lea ecx, [ebx - 1]
call fcn.0042cc00
lea edi, [ebx - 4]
test eax, eax
jne 0x40b540
mov esi, 0x4434ba
push edi
mov al, byte [esi]
mov byte [edi], al
cmp al, 0
je 0x40b52a
mov al, byte [esi + 1]
add esi, 2
mov byte [edi + 1], al
add edi, 2
cmp al, 0
jne 0x40b512
pop edi
mov ebx, ecx
lea eax, [ebp - 0x188]
mov byte [ebx], 0
call fcn.0040c940
jmp case.0x40aa01.47
mov edx, 0x4434be
mov eax, dword [0x45d580]
call fcn.0042cc00
test eax, eax
jne 0x40b574
mov esi, 0x4434ba
push edi
mov al, byte [esi]
mov byte [edi], al
cmp al, 0
je 0x40b571
mov al, byte [esi + 1]
add esi, 2
mov byte [edi + 1], al
add edi, 2
cmp al, 0
jne 0x40b559
pop edi
jmp 0x40b52b
mov edx, 0x4434c3
mov eax, dword [0x45d580]
call fcn.0042cc00
test eax, eax
jne 0x40b52d
mov esi, 0x4434ba
push edi
mov al, byte [esi]
mov byte [edi], al
cmp al, 0
je 0x40b5a5
mov al, byte [esi + 1]
add esi, 2
mov byte [edi + 1], al
add edi, 2
cmp al, 0
jne 0x40b58d
pop edi
jmp 0x40b52b
mov eax, 0x4434c7
call fcn.0040c940
jmp case.0x40aa01.47
mov eax, 4
call fcn.004067a0
mov edx, eax
mov eax, 3
call fcn.004067a0
cmp eax, edx
je 0x40a862
mov eax, 4
call fcn.004067a0
test eax, eax
je 0x40b5e8
mov eax, 8
push eax
push 0x39c
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.DLL_GetMenu]
push eax
call dword [sym.imp.USER32.DLL_CheckMenuItem]
jmp case.0x40aa01.47
and byte [0x4624a3], 0xbf
jmp 0x40a8fa
ja 0x40b63a
mov ecx, dword [0x458fec]
mov edx, dword [0x458fe8]
cmp ecx, 0xf7
jge 0x40b668
lea eax, [ecx + 8]
call fcn.00406b60
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
cmp ecx, 0x73
je 0x40b682
cmp ecx, 0x22
jne 0x40b698
mov eax, dword [0x458fec]
mov edx, dword [0x458fe8]
cmp eax, 8
jle 0x40b67e
sub eax, 8
call fcn.00406b60
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
mov eax, 0xff
call fcn.00406b60
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
xor eax, eax
jmp 0x40b657
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.DLL_DestroyWindow]
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
shr edx, 0x10
test dh, 0x20
je 0x40b6dc
or byte [0x4624a3], 0x40
mov edx, 1
mov eax, dword [ebp + 0x10]
call fcn.0040b6f0
cmp dword [0x454848], 0
je 0x40a862
mov eax, dword [ebp + 0x10]
or eax, dword [0x4624a0]
call dword [0x454848]
xor eax, eax
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
and byte [0x4624a3], 0xbf
jmp 0x40b6a7