Function at 0x450450
Capabilities:
Create thread
Get geographical location
Hide graphical window
Resume thread

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x38
and eax, 0xffff
push ebx
push ebp
push esi
cmp eax, 0x115
push edi
mov ebx, ecx
jg 0x450f22
cmp eax, 0x114
jge 0x450c8d
add eax, 0xffffffad
cmp eax, 0xbe
ja case.default.0x450f30
xor ecx, ecx
mov cl, byte [eax + 0x45124c]
jmp dword [ecx*4 + 0x451238]
mov edx, dword [esp + 0x4c]
mov ecx, ebx
push edx
call fcn.0044d7f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret 0x10
mov eax, dword [esp + 0x54]
push 0x4e2210
push 0xc
push str.ACDSee32.hlp
push eax
call dword [sym.imp.USER32.dll_WinHelpA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov eax, dword [esp + 0x58]
cmp dword [eax + 4], 1
jne case.0x450ccb.542
mov ecx, dword [eax + 0xc]
push 0x4e2210
push 0xc
push str.ACDSee32.hlp
push ecx
call dword [sym.imp.USER32.dll_WinHelpA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov esi, dword [esp + 0x54]
mov eax, esi
shr eax, 0x10
cmp ax, 0x300
jne 0x4508fc
mov ebp, dword [esp + 0x4c]
mov edi, esi
lea edx, [esp + 0x20]
and edi, 0xffff
push 0x14
push edx
push edi
push ebp
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
lea eax, [esp + 0x20]
push eax
call fcn.0044c920
fstp qword [esp + 0x14]
add esp, 4
cmp si, 0x221
je 0x450695
cmp si, 0x222
je 0x450695
cmp si, 0x227
jne 0x4506fe
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x4506fe
mov eax, dword [ebx + 0x7c]
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x4505b2
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call esi
cmp eax, 0x102
jne 0x4505a5
push 0x40
call dword [sym.imp.USER32.dll_MessageBeep]
jmp 0x4505b2
mov ecx, dword [ebx + 0x7c]
push ecx
call edi
mov dword [ebx + 0x7c], 0
push 0
push 0
push 0x227
push ebp
call dword [sym.imp.USER32.dll_GetDlgItemInt]
xor edx, edx
mov dword [ebx + 0xc8], eax
mov dx, ax
push edx
push 0
push 0x467
push 0x229
push ebp
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x450618
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call esi
cmp eax, 0x102
jne 0x45060b
push 0x40
call dword [sym.imp.USER32.dll_MessageBeep]
jmp 0x450678
mov eax, dword [ebx + 0x7c]
push eax
call edi
mov dword [ebx + 0x7c], 0
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x450678
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x450636
mov ecx, dword [ebx + 0xc8]
mov eax, dword [ebx + 0xf0]
cmp ecx, eax
je 0x450678
push 0
mov ecx, ebx
mov dword [ebx + 0x80], 0
call fcn.0044fad0
lea edx, [esp + 0x4c]
push edx
push 4
push ebx
push 0x44d1f0
push 0
push 0
call fcn.004bf407
add esp, 0x18
mov dword [ebx + 0x7c], eax
push 0xfffffffffffffffe
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [ebx + 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov ecx, dword [ebx + 0x64]
push 0
push 0
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
push 0
push 0
push 0x147
push 0x220
push ebp
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
cmp eax, 3
jne 0x4506d5
cmp si, 0x221
jne 0x4506c2
fld qword [esp + 0x10]
fstp dword [ebx + 0xc0]
jmp 0x4506fe
cmp si, 0x222
jne 0x4506fe
fld qword [esp + 0x10]
fstp dword [ebx + 0xc4]
jmp 0x4506fe
cmp eax, 2
jne 0x4506fe
cmp si, 0x221
jne 0x4506ed
fld qword [esp + 0x10]
fstp dword [ebx + 0xb8]
jmp 0x4506fe
cmp si, 0x222
jne 0x4506fe
fld qword [esp + 0x10]
fstp dword [ebx + 0xbc]
fld qword [esp + 0x10]
fmul qword [0x4cc850]
call fcn.004bedcc
mov esi, eax
lea eax, [edi - 0x216]
cmp eax, 0xc
ja case.0x450ccb.542
jmp dword [eax*4 + 0x45130c]
mov edi, 0x215
jmp 0x450754
mov edi, 0x21b
jmp 0x450754
mov edi, 0x224
jmp 0x450754
mov edi, 0x217
jmp 0x450754
mov edi, 0x219
jmp 0x450754
mov edi, 0x21a
jmp 0x450754
mov edi, 0x218
push 0
and edi, 0xffff
push 0
push 0x466
push edi
push ebp
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov ecx, eax
shr ecx, 0x10
cmp esi, ecx
jge 0x450776
mov esi, ecx
and eax, 0xffff
cmp esi, eax
jle 0x450781
mov esi, eax
and esi, 0xffff
push esi
push 0
push 0x467
push edi
push ebp
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov eax, dword [ebx + 0x64]
test eax, eax
je case.0x450ccb.542
cmp word [esp + 0x54], 0x216
jne 0x4508c3
mov eax, dword [ebx + 0x7c]
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x4507f2
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call edi
cmp eax, 0x102
jne 0x4507e5
push 0x40
call dword [sym.imp.USER32.dll_MessageBeep]
jmp 0x4507f2
mov edx, dword [ebx + 0x7c]
push edx
call ebp
mov dword [ebx + 0x7c], 0
mov eax, dword [ebx + 0x30]
xor esi, esi
mov ecx, dword [eax + 8]
test ecx, ecx
jle 0x45081e
cmp esi, ecx
jge 0x45080e
test esi, esi
jl 0x45080e
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi*4]
jmp 0x450810
xor ecx, ecx
call fcn.0045b110
mov eax, dword [ebx + 0x30]
inc esi
cmp esi, dword [eax + 8]
jl 0x450802
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x450855
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call edi
cmp eax, 0x102
jne 0x450848
push 0x40
call dword [sym.imp.USER32.dll_MessageBeep]
jmp 0x4508b5
mov ecx, dword [ebx + 0x7c]
push ecx
call ebp
mov dword [ebx + 0x7c], 0
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x4508b5
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x450873
mov edx, dword [ebx + 0xc8]
mov eax, dword [ebx + 0xf0]
cmp edx, eax
je 0x4508b5
push 0
mov ecx, ebx
mov dword [ebx + 0x80], 0
call fcn.0044fad0
lea eax, [esp + 0x4c]
push eax
push 4
push ebx
push 0x44d1f0
push 0
push 0
call fcn.004bf407
add esp, 0x18
mov dword [ebx + 0x7c], eax
push 0xfffffffffffffffe
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov ecx, dword [ebx + 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov edx, dword [ebx + 0x64]
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [ebx + 0x64]
test eax, eax
je case.0x450ccb.542
mov eax, dword [esp + 0x54]
cmp ax, 0x216
je case.0x450ccb.542
cmp ax, 0x225
je case.0x450ccb.542
mov ecx, ebx
call fcn.0044ea60
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
cmp ax, 1
jne 0x450928
cmp si, 0x220
jne case.0x450ccb.542
push 0x220
mov ecx, ebx
call fcn.004513e0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
test ax, ax
jne case.0x450ccb.542
mov eax, esi
and eax, 0xffff
cmp eax, 0x206
jg 0x450adb
cmp eax, 0x205
jge case.0x450af1.533
cmp eax, 0x201
jg 0x450ac1
je case.0x450af1.533
dec eax
je 0x450a16
dec eax
jne case.0x450ccb.542
mov eax, dword [ebx + 0x7c]
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, dword [sym.imp.USER32.dll_MessageBeep]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x4509b2
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call esi
cmp eax, 0x102
jne 0x4509a5
push 0x40
call ebp
jmp 0x4509b2
mov eax, dword [ebx + 0x7c]
push eax
call edi
mov dword [ebx + 0x7c], 0
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x4509fa
push 0xbb8
push eax
mov dword [ebx + 0x78], 1
call esi
cmp eax, 0x102
jne 0x4509d5
push 0x20
call ebp
jmp 0x4509fa
mov ecx, dword [ebx + 0x74]
push ecx
call edi
mov edx, dword [ebx + 0x60]
push 0
push 0x244
push edx
mov dword [ebx + 0x74], 0
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esp + 0x4c]
push 2
push eax
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
push 1
mov ecx, ebx
call fcn.0044fad0
test eax, eax
jne 0x450a32
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov eax, dword [ebx + 0x64]
test eax, eax
jne 0x450a48
lea esi, [ebx + 0x88]
mov ecx, 0xc
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x7c]
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, dword [sym.imp.USER32.dll_MessageBeep]
test eax, eax
je 0x450a8b
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call esi
cmp eax, 0x102
jne 0x450a7a
push 0x40
call edi
jmp 0x450a8b
mov ecx, dword [ebx + 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx + 0x7c], 0
mov ebx, dword [ebx + 0x74]
test ebx, ebx
je 0x450aa5
push 0xbb8
push ebx
call esi
cmp eax, 0x102
jne 0x450aa5
push 0x40
call edi
mov edx, dword [esp + 0x4c]
push 1
push edx
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
cmp eax, 0x203
je case.0x450af1.533
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
add eax, 0xfffffdec
cmp eax, 0x32
ja case.0x450ccb.542
xor ecx, ecx
mov cl, byte [eax + 0x451350]
jmp dword [ecx*4 + 0x451340]
push 0
mov ecx, ebx
call fcn.0044fad0
lea esi, [ebx + 0x88]
mov ecx, 0xc
mov edi, ebx
mov eax, 1
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret 0x10
mov esi, dword [esp + 0x4c]
push 0x214
push esi
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov ebp, dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, eax
push edi
push 0x216
push esi
call ebp
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push edi
push 0x215
push esi
call ebp
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [ebx + 0x64]
test eax, eax
je case.0x450ccb.542
mov eax, dword [ebx + 0x7c]
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor ebp, ebp
cmp eax, ebp
je 0x450ba1
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call edi
cmp eax, 0x102
jne 0x450b94
push 0x40
call dword [sym.imp.USER32.dll_MessageBeep]
jmp 0x450ba1
mov edx, dword [ebx + 0x7c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx + 0x7c], ebp
mov eax, dword [ebx + 0x30]
xor esi, esi
mov ecx, dword [eax + 8]
cmp ecx, ebp
jle 0x450bcd
cmp esi, ecx
jge 0x450bbd
cmp esi, ebp
jl 0x450bbd
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi*4]
jmp 0x450bbf
xor ecx, ecx
call fcn.0045b110
mov eax, dword [ebx + 0x30]
inc esi
cmp esi, dword [eax + 8]
jl 0x450bb1
mov eax, dword [ebx + 0x7c]
cmp eax, ebp
je 0x450c1d
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call edi
cmp eax, 0x102
jne 0x450c10
push 0x40
call dword [sym.imp.USER32.dll_MessageBeep]
mov edx, dword [ebx + 0x64]
push ebp
push ebp
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov ecx, dword [ebx + 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx + 0x7c], ebp
cmp dword [ebx + 0x7c], ebp
jne 0x450c72
cmp dword [ebx + 0x74], ebp
je 0x450c37
mov edx, dword [ebx + 0xc8]
mov eax, dword [ebx + 0xf0]
cmp edx, eax
je 0x450c72
push ebp
mov ecx, ebx
mov dword [ebx + 0x80], ebp
call fcn.0044fad0
lea eax, [esp + 0x4c]
push eax
push 4
push ebx
push 0x44d1f0
push ebp
push ebp
call fcn.004bf407
add esp, 0x18
mov dword [ebx + 0x7c], eax
push 0xfffffffffffffffe
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov ecx, dword [ebx + 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov edx, dword [ebx + 0x64]
push ebp
push ebp
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov ebp, dword [esp + 0x58]
push 0xfffffffffffffff4
push ebp
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push 0
push 0x468
push ebp
mov edi, eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov esi, eax
lea eax, [edi - 0x215]
and esi, 0xffff
cmp eax, 0x14
ja case.0x450ccb.542
xor ecx, ecx
mov cl, byte [eax + 0x4513ac]
jmp dword [ecx*4 + 0x451384]
mov eax, dword [ebx + 0x7c]
mov ebp, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x450d13
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call ebp
cmp eax, 0x102
jne 0x450d02
push 0x40
call dword [sym.imp.USER32.dll_MessageBeep]
jmp 0x450d13
mov edx, dword [ebx + 0x7c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx + 0x7c], 0
push 0
mov dword [ebx + 0xc8], esi
push esi
mov esi, dword [esp + 0x54]
push 0x227
push esi
call dword [sym.imp.USER32.dll_SetDlgItemInt]
push 0xffffffffffffffff
push 0
push 0xb1
push edi
push esi
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x450d78
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call ebp
cmp eax, 0x102
jne 0x450d67
push 0x40
call dword [sym.imp.USER32.dll_MessageBeep]
jmp 0x450dd8
mov eax, dword [ebx + 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx + 0x7c], 0
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x450dd8
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x450d96
mov ecx, dword [ebx + 0xc8]
mov eax, dword [ebx + 0xf0]
cmp ecx, eax
je 0x450dd8
push 0
mov ecx, ebx
mov dword [ebx + 0x80], 0
call fcn.0044fad0
lea edx, [esp + 0x4c]
push edx
push 4
push ebx
push 0x44d1f0
push 0
push 0
call fcn.004bf407
add esp, 0x18
mov dword [ebx + 0x7c], eax
push 0xfffffffffffffffe
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [ebx + 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov ebx, dword [ebx + 0x64]
test ebx, ebx
je case.0x450ccb.542
push 0
push 0
push ebx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
push 0
push esi
mov esi, dword [esp + 0x54]
push 0x225
push esi
call dword [sym.imp.USER32.dll_SetDlgItemInt]
jmp 0x450f02
mov edi, 0x216
jmp 0x450e44
mov edi, 0x21c
jmp 0x450e44
mov edi, 0x21f
jmp 0x450e44
mov edi, 0x21d
jmp 0x450e44
mov edi, 0x21e
jmp 0x450e44
mov edi, 0x221
jmp 0x450e44
mov edi, 0x222
mov cx, word [0x4e092c]
lea eax, [esp + 0x10]
xor edx, edx
push 0xa
push eax
lea esi, [esi + esi*4]
mov dword [esp + 0x1a], edx
push 0xe
push 0x400
mov word [esp + 0x20], cx
shl esi, 1
mov dword [esp + 0x26], edx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
mov eax, esi
mov ecx, 0x64
cdq
idiv ecx
mov eax, 0x51eb851f
lea ecx, [esp + 0x20]
push edx
lea edx, [esp + 0x14]
push edx
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push str._0d_s_02d
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, 0x66666667
add esp, 0x14
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
and edx, 0xffff
push edx
push 0
push 0x467
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
mov esi, dword [esp + 0x4c]
lea ecx, [esp + 0x34]
push 0x14
push ecx
push edi
push esi
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
lea edx, [esp + 0x20]
lea eax, [esp + 0x34]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x450f02
lea ecx, [esp + 0x20]
push ecx
push edi
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
push 0xffffffffffffffff
push 0
push 0xb1
push edi
push esi
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
add eax, 0xfffffbff
cmp eax, 3
ja case.default.0x450f30
jmp dword [eax*4 + 0x4513c4]
mov dword [ebx + 0x84], 1
mov eax, dword [ebx + 0x64]
test eax, eax
je case.0x450ccb.542
mov ecx, ebx
call fcn.0044ea60
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov edx, dword [ebx + 0xf0]
mov esi, dword [esp + 0x4c]
mov ebp, dword [sym.imp.USER32.dll_SetDlgItemInt]
push 0
push edx
push 0x22b
push esi
call ebp
push 0x229
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, eax
mov eax, dword [ebx + 0xf0]
and eax, 0xffff
or eax, 0x10000
push eax
push 0
push 0x465
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
push 1
push 0
push edi
mov edi, dword [sym.imp.USER32.dll_InvalidateRect]
call edi
push 0
push 0
push 0x227
push esi
call dword [sym.imp.USER32.dll_GetDlgItemInt]
mov dword [ebx + 0xc8], eax
mov ecx, dword [ebx + 0xf0]
cmp eax, ecx
jle 0x450fe4
push 0
push ecx
push 0x227
push esi
mov dword [ebx + 0xc8], ecx
call ebp
mov ecx, dword [ebx + 0x64]
xor ebp, ebp
push ebp
push ebp
push ecx
call edi
push ebp
push 0x244
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebx + 0x7c]
cmp eax, ebp
je 0x45104a
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x45103d
push 0x40
call dword [sym.imp.USER32.dll_MessageBeep]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov edx, dword [ebx + 0x7c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx + 0x7c], ebp
cmp dword [ebx + 0x7c], ebp
jne case.0x450ccb.542
cmp dword [ebx + 0x74], ebp
je 0x45106c
mov eax, dword [ebx + 0xc8]
mov ecx, dword [ebx + 0xf0]
cmp eax, ecx
je case.0x450ccb.542
push ebp
mov ecx, ebx
mov dword [ebx + 0x80], ebp
call fcn.0044fad0
lea ecx, [esp + 0x4c]
push ecx
push 4
push ebx
push 0x44d1f0
push ebp
push ebp
call fcn.004bf407
add esp, 0x18
mov dword [ebx + 0x7c], eax
push 0xfffffffffffffffe
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov edx, dword [ebx + 0x7c]
push edx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov ecx, dword [ebx + 0x64]
lea eax, [esp + 0x20]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
add eax, edx
mov dword [esp + 0x14], edx
mov edx, dword [ebx + 0xcc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
add esi, ecx
push edx
mov dword [esp + 0x1c], esi
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
push eax
push ecx
mov dword [esp + 0x1c], ecx
call esi
mov ecx, dword [ebx + 0xcc]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
call esi
mov ecx, dword [ebx + 0xd0]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
push ecx
push edx
push eax
call esi
mov ecx, dword [ebx + 0xd0]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
push ecx
push edx
push eax
call esi
mov edx, dword [ebx + 0x64]
lea ecx, [esp + 0x10]
push 0
push ecx
push edx
mov dword [esp + 0x28], eax
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov eax, dword [ebx + 0x64]
xor esi, esi
push esi
push esi
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [ebx + 0x7c]
cmp eax, esi
je 0x4511bd
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x4511b0
push 0x40
call dword [sym.imp.USER32.dll_MessageBeep]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov ecx, dword [ebx + 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx + 0x7c], esi
cmp dword [ebx + 0x7c], esi
jne case.0x450ccb.542
cmp dword [ebx + 0x74], esi
je 0x4511df
mov edx, dword [ebx + 0xc8]
mov eax, dword [ebx + 0xf0]
cmp edx, eax
je case.0x450ccb.542
push esi
mov ecx, ebx
mov dword [ebx + 0x80], esi
call fcn.0044fad0
lea eax, [esp + 0x4c]
push eax
push 4
push ebx
push 0x44d1f0
push esi
push esi
call fcn.004bf407
add esp, 0x18
mov dword [ebx + 0x7c], eax
push 0xfffffffffffffffe
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov ecx, dword [ebx + 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret 0x10