Function at 0x408560
Capabilities:
Hide graphical window
Resolve function by parsing pe exports
Suspend thread

Disassembly:
push 0xffffffffffffffff
push 0x475762
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4a7534]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
lea ecx, [esp + 0x34]
call fcn.0046ba70
xor ebx, ebx
mov dword [esp + 0x98], ebx
test byte [0x4b1798], 1
mov dword [esp + 0x1c], ebx
jne 0x4085c7
or dword [0x4b1798], 1
mov ecx, 0x4b1768
call fcn.00468b50
push 0x479820
call fcn.00446492
add esp, 4
lea eax, [esp + 0x1c]
push eax
call fcn.0041b4e0
mov esi, eax
call fcn.00415150
test al, al
je 0x408975
cmp esi, 3
je 0x408975
cmp esi, ebx
je 0x40878b
cmp esi, 1
je 0x40878b
call fcn.00410290
mov esi, eax
call fcn.004105c0
mov dword [esp + 0x40], ebx
mov byte [esp + 0x44], bl
mov dword [esp + 0x3c], vtable.DLProductOnBasicUIMsgFun.0
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x38]
push edx
mov ecx, 0x4829b8
mov byte [esp + 0xa0], 3
call fcn.00406490
add esp, 8
test al, al
jne 0x40869d
call fcn.00410290
mov esi, eax
call fcn.004102c0
lea ecx, [esp + 0x34]
call fcn.0046bdf0
mov eax, 0x4add48
call fcn.0040bcf0
mov esi, 0x4add48
call fcn.0040fbc0
push 0x482f50
mov ecx, esi
call fcn.0040f5c0
mov eax, esi
call fcn.0040fa90
push ebx
call fcn.0044725c
lea eax, [esp + 0x38]
add esp, 4
push eax
call fcn.0041a510
mov ecx, dword [0x4ac768]
add esp, 4
push ecx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
jmp 0x408e74
call fcn.00410290
mov esi, eax
call fcn.004102c0
mov eax, 0x4add48
call fcn.0040bcf0
push 0x4add48
call fcn.0040fd70
mov esi, 0x4add48
call fcn.0040fbc0
push 0x483028
mov ecx, esi
call fcn.0040f5c0
mov eax, esi
call fcn.0040bcf0
mov edx, dword [0x4add4c]
push 5
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
call fcn.0044725c
add esp, 4
sub eax, 0x13560
sbb edx, ebx
push edx
push eax
call fcn.0041a560
mov eax, dword [0x4ac768]
add esp, 8
push eax
call dword [sym.imp.KERNEL32.dll_SuspendThread]
push 0x482ef8
mov ecx, esi
call fcn.0040f5c0
mov ebx, 0x4829b8
call fcn.00406160
test al, al
jne 0x40876d
lea ecx, [esp + 0x24]
call fcn.00468b50
push 0x482f10
push 0x482c68
lea ecx, [esp + 0x2c]
call fcn.00468d90
mov ecx, eax
call fcn.00468d90
mov eax, esi
call fcn.0040fa50
lea ecx, [esp + 0x24]
call fcn.00468670
push eax
mov ecx, esi
call fcn.0040f5c0
lea ecx, [esp + 0x24]
call fcn.00468790
push 0x482f28
mov ecx, 0x4add48
call fcn.0040f5c0
mov eax, 0x4add48
call fcn.0040fa50
jmp 0x408e74
test byte [0x4b1790], 1
jne 0x4087ae
or dword [0x4b1790], 1
push 0x4797d0
mov byte [0x4b177c], bl
call fcn.00446492
add esp, 4
mov esi, 0x4b1778
call fcn.004105c0
mov dword [esp + 0x40], ebx
mov byte [esp + 0x44], bl
mov dword [esp + 0x3c], vtable.DLProductOnBasicUIMsgFun.0
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x38]
push edx
mov ecx, 0x4829b8
mov byte [esp + 0xa0], 1
call fcn.00406490
add esp, 8
test al, al
jne 0x408805
call fcn.00410290
mov esi, eax
call fcn.004102c0
lea ecx, [esp + 0x34]
call fcn.0046bdf0
jmp 0x408e74
call fcn.00410290
mov esi, eax
call fcn.004102c0
mov esi, dword [0x4ac79c]
cmp esi, dword [0x4add4c]
je 0x408829
mov edi, 0x4add48
call fcn.0040bd10
push 0x4add48
call fcn.0040fd70
lea ecx, [esp + 0x4c]
call fcn.00468b50
mov esi, 0x4add48
mov byte [esp + 0x98], 2
call fcn.0040fbc0
mov eax, dword [esp + 0x1c]
push 0x482eb0
push eax
push 0x482e28
lea ecx, [esp + 0x58]
call fcn.00468d90
mov ecx, eax
call fcn.00468dc0
mov ecx, eax
call fcn.00468d90
lea ecx, [esp + 0x4c]
call fcn.00468640
mov ecx, dword [0x4add4c]
mov ebp, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x68
push ecx
mov esi, eax
call ebp
cmp eax, ebx
je 0x40889c
push esi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov esi, dword [0x4ac79c]
cmp esi, dword [0x4add4c]
je 0x4088b4
mov edi, 0x4add48
call fcn.0040bd10
mov edx, dword [0x4add4c]
push 5
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x4ac768]
push eax
call dword [sym.imp.KERNEL32.dll_SuspendThread]
mov ecx, dword [0x4add4c]
push 0x68
push ecx
call ebp
cmp eax, ebx
je 0x4088ea
push 0x482ef8
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ebx, 0x4829b8
call fcn.00406160
test al, al
jne 0x408942
lea ecx, [esp + 0x24]
call fcn.00468b50
push 0x482f10
push 0x482c68
lea ecx, [esp + 0x2c]
call fcn.00468d90
mov ecx, eax
call fcn.00468d90
mov eax, 0x4add48
call fcn.0040fa50
lea ecx, [esp + 0x24]
call fcn.00468670
push eax
mov ecx, 0x4add48
call fcn.0040f5c0
lea ecx, [esp + 0x24]
call fcn.00468790
mov edx, dword [0x4add4c]
push 0x68
push edx
call ebp
test eax, eax
je 0x40895d
push 0x482f28
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, 0x4add48
call fcn.0040fa50
lea ecx, [esp + 0x4c]
call fcn.00468790
jmp 0x408e74
test byte [0x4b1790], 1
jne 0x408998
or dword [0x4b1790], 1
push 0x4797d0
mov byte [0x4b177c], bl
call fcn.00446492
add esp, 4
mov esi, 0x4b1778
call fcn.004105c0
mov eax, dword [0x4ada5c]
push ebx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.00415150
test al, al
je 0x408e74
call fcn.00416f60
mov ecx, eax
mov eax, 0x4829b8
call fcn.00412d90
test al, al
je 0x408e74
mov esi, dword [0x4ac79c]
cmp esi, dword [0x4ada5c]
je 0x4089ed
mov edi, 0x4ada58
call fcn.0040bd10
call fcn.00416f60
lea ebp, [eax + 4]
mov eax, ebp
xor esi, esi
call fcn.00410900
test eax, eax
jle 0x408a68
call fcn.00416f60
mov ecx, dword [ebp + 4]
test ecx, ecx
mov edi, eax
je 0x408a1c
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x408a21
call fcn.00445da3
mov ecx, dword [ebp + 4]
mov edx, dword [edi]
mov edx, dword [edx + 4]
lea eax, [ecx + esi*4]
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, edi
call edx
test al, al
jne 0x408a5a
push 0x4830e4
lea ecx, [esp + 0x38]
call fcn.0046be50
mov ecx, eax
call fcn.0046bec0
lea ecx, [esp + 0x34]
call fcn.0046bdf0
mov eax, ebp
add esi, 1
call fcn.00410900
cmp esi, eax
jl 0x408a02
call fcn.00416f60
mov edx, dword [eax]
mov edx, dword [edx + 8]
push 1
push 0x4829b8
lea ecx, [esp + 0x3c]
push ecx
mov ecx, eax
call edx
test al, al
jne 0x408a90
push 0x4830f8
jmp 0x408e43
call fcn.00416bb0
test al, al
je 0x408d7f
push 0
call fcn.0044725c
mov ebx, eax
mov eax, 0x4af454
add esp, 4
cmp eax, 0x4afa80
mov dword [esp + 0x28], edx
jne 0x408ac0
mov eax, 1
jmp 0x408ae7
mov ecx, 0x4af454
cmp ecx, 0x4af3a0
jne 0x408ad4
mov eax, 5
jmp 0x408ae7
mov edi, 0x4af454
mov esi, 0x4ae670
call fcn.00429650
test eax, eax
jle 0x408aef
cmp ebx, eax
jl 0x408e74
mov eax, ebp
xor ebx, ebx
call fcn.00410900
test eax, eax
jle 0x408b75
lea esp, [esp]
mov esi, dword [ebp + 4]
test esi, esi
je 0x408cce
mov ecx, dword [ebp + 8]
mov eax, ecx
sub eax, esi
sar eax, 2
cmp eax, ebx
jbe 0x408cce
cmp esi, ecx
jbe 0x408b26
call fcn.00445da3
mov dword [esp + 0x28], esi
lea esi, [esi + ebx*4]
cmp esi, dword [ebp + 8]
mov edi, ebp
ja 0x408b39
cmp esi, dword [ebp + 4]
jae 0x408b3e
call fcn.00445da3
cmp esi, dword [edi + 8]
jb 0x408b48
call fcn.00445da3
mov esi, dword [esi]
push 1
push 0x4ada58
call fcn.0040edc0
test ebx, ebx
setne dl
mov edi, 0x4adb7c
push edx
push ebx
call fcn.0040df00
mov eax, ebp
add ebx, 1
call fcn.00410900
cmp ebx, eax
jl 0x408b00
mov eax, ebp
mov esi, 1
call fcn.00410900
cmp eax, esi
jle 0x408c60
lea esp, [esp]
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x408ba3
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x408ba8
call fcn.00445da3
mov eax, dword [ebp + 4]
lea ebx, [esi*4]
mov ecx, dword [ebx + eax]
cmp byte [ecx + 0x114], 0
je 0x408c4e
call fcn.00416f60
mov ecx, dword [ebp + 4]
test ecx, ecx
mov edi, eax
je 0x408bdc
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x408be1
call fcn.00445da3
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + eax]
mov edx, dword [edi]
mov edx, dword [edx + 8]
push 1
push ecx
lea eax, [esp + 0x3c]
push eax
mov ecx, edi
call edx
push esi
mov eax, 0x4adb7c
call fcn.0040d150
test eax, eax
je 0x408c17
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x408c17
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x408c2a
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x408c2f
call fcn.00445da3
mov eax, dword [ebp + 4]
mov ecx, dword [eax + ebx]
add eax, ebx
add ecx, 0xc4
call fcn.00468670
push eax
push esi
mov edi, 0x4adb7c
call fcn.0040d650
mov eax, ebp
add esi, 1
call fcn.00410900
cmp esi, eax
jl 0x408b90
mov esi, 0x4adb7c
call fcn.0040d700
mov eax, dword [0x4ada5c]
mov edi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push 0x50b
push eax
call edi
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x408cd3
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp eax, 1
jbe 0x408cd3
mov ecx, dword [0x4ada5c]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x6b
push ecx
call esi
test eax, eax
mov ebx, dword [sym.imp.USER32.dll_SetWindowTextW]
je 0x408cb8
push 0x483104
push eax
call ebx
mov edx, dword [0x4ada5c]
push 0x68
push edx
call esi
test eax, eax
je 0x408d0c
push 0x483134
jmp 0x408d09
jmp fcn.00410c50
mov eax, dword [0x4ada5c]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x68
push eax
call esi
test eax, eax
mov ebx, dword [sym.imp.USER32.dll_SetWindowTextW]
je 0x408cf5
push 0x482200
push eax
call ebx
mov ecx, dword [0x4ada5c]
push 0x6b
push ecx
call esi
test eax, eax
je 0x408d0c
push 0x483104
push eax
call ebx
mov edx, dword [0x4ada5c]
push 0
push 0
push 0x50d
push edx
call edi
mov ecx, dword [0x4adb80]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 2
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
lea eax, [esp + 0x5c]
push eax
push 0
push 0x102b
push ecx
call esi
lea edx, [esp + 0x5c]
push edx
mov eax, 1
push 0
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], eax
mov eax, dword [0x4adb80]
push 0x102b
push eax
call esi
mov ecx, dword [0x4ac768]
push ecx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x4090b7
mov eax, ebp
xor ebx, ebx
call fcn.00410900
test eax, eax
jle 0x408e18
mov esi, dword [ebp + 4]
test ebx, ebx
setne al
test esi, esi
mov byte [esp + 0x18], al
mov byte [esp + 0x20], al
je 0x408cce
mov ecx, dword [ebp + 8]
mov eax, ecx
sub eax, esi
sar eax, 2
cmp eax, ebx
jbe 0x408cce
cmp esi, ecx
jbe 0x408dc3
call fcn.00445da3
mov dword [esp + 0x28], esi
lea esi, [esi + ebx*4]
cmp esi, dword [ebp + 8]
mov edi, ebp
ja 0x408dd6
cmp esi, dword [ebp + 4]
jae 0x408ddb
call fcn.00445da3
cmp esi, dword [edi + 8]
jb 0x408de5
call fcn.00445da3
mov edx, dword [esp + 0x20]
mov esi, dword [esi]
push edx
push 0x4ada58
call fcn.0040edc0
mov eax, dword [esp + 0x18]
push eax
push ebx
mov edi, 0x4adb7c
call fcn.0040df00
mov eax, ebp
add ebx, 1
call fcn.00410900
cmp ebx, eax
jl 0x408d90
mov esi, 0x4adb7c
call fcn.0040d700
call fcn.00416f60
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
push 0x4829b8
lea ecx, [esp + 0x38]
push ecx
mov ecx, eax
call edx
test al, al
jne 0x408e97
push 0x483160
lea ecx, [esp + 0x38]
call fcn.0046be50
mov ecx, eax
call fcn.0046bec0
push 0x482634
push 0x482c68
mov ecx, eax
call fcn.0046bec0
mov ecx, eax
call fcn.0046bec0
lea ecx, [esp + 0x34]
call fcn.0046cb50
lea ecx, [esp + 0x34]
call fcn.0046ba10
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret
mov ecx, dword [ebp + 4]
test ecx, ecx
mov esi, dword [sym.imp.USER32.dll_SetWindowTextW]
je 0x408ecd
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp eax, 1
jbe 0x408ecd
mov eax, dword [0x4ada5c]
push 0x6b
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x408ef7
push 0x48316c
push eax
call esi
jmp 0x408ef7
mov ecx, dword [0x4ada5c]
push 0x6b
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x408ee8
push 0x4831a4
push eax
call esi
mov edx, dword [0x4adba8]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x4831c0
push 0
mov edi, 0x4adb7c
call fcn.0040d650
mov eax, ebp
mov esi, 1
call fcn.00410900
cmp eax, esi
jle 0x408ff0
lea esp, [esp]
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x408f33
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x408f38
call fcn.00445da3
mov eax, dword [ebp + 4]
lea ebx, [esi*4]
mov ecx, dword [ebx + eax]
cmp byte [ecx + 0x114], 0
je 0x408fde
call fcn.00416f60
mov ecx, dword [ebp + 4]
test ecx, ecx
mov edi, eax
je 0x408f6c
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x408f71
call fcn.00445da3
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + eax]
mov edx, dword [edi]
mov edx, dword [edx + 8]
push 1
push ecx
lea eax, [esp + 0x3c]
push eax
mov ecx, edi
call edx
push esi
mov eax, 0x4adb7c
call fcn.0040d150
test eax, eax
je 0x408fa7
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x408fa7
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x408fba
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x408fbf
call fcn.00445da3
mov eax, dword [ebp + 4]
mov ecx, dword [eax + ebx]
add eax, ebx
add ecx, 0xc4
call fcn.00468670
push eax
push esi
mov edi, 0x4adb7c
call fcn.0040d650
mov eax, ebp
add esi, 1
call fcn.00410900
cmp esi, eax
jl 0x408f20
test byte [0x4b1790], 1
jne 0x409014
or dword [0x4b1790], 1
push 0x4797d0
mov byte [0x4b177c], 0
call fcn.00446492
add esp, 4
mov edi, 0x482c68
mov ecx, 0x4b1778
call fcn.004104e0
mov eax, dword [0x4ada5c]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
mov ebx, 1
push ebx
push eax
call esi
mov ecx, dword [0x4ada5c]
push 0x43
push 0
push 0
push 0
push 0
push 0
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, dword [0x4ada5c]
push 0
push 0
push 0x50d
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x4adb80]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 2
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
lea eax, [esp + 0x5c]
push eax
push 0
push 0x102b
push ecx
call edi
mov eax, dword [0x4adb80]
lea edx, [esp + 0x5c]
push edx
push 0
push 0x102b
push eax
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], ebx
call edi
mov ecx, dword [0x4ac768]
push ecx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
mov edx, dword [0x4adba8]
push 0
push edx
call esi
mov eax, dword [0x4adbb8]
push 0
push eax
call esi
mov ecx, dword [0x4adbbc]
push 5
push ecx
call esi
mov edx, dword [0x4adbc0]
push 5
push edx
call esi
mov esi, 0x4adb7c
call fcn.0040cf50
mov eax, ebp
xor esi, esi
call fcn.00410900
test eax, eax
jle 0x409168
lea esp, [esp]
push 0
push esi
mov edi, 0x4adb7c
call fcn.0040df00
push esi
call fcn.0040dcf0
test eax, eax
mov ecx, dword [ebp + 4]
je 0x40913b
test ecx, ecx
je 0x40912a
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x40912f
call fcn.00445da3
mov eax, dword [ebp + 4]
mov ecx, dword [eax + esi*4]
mov byte [ecx + 0x40], 1
jmp 0x40915a
test ecx, ecx
je 0x40914b
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x409150
call fcn.00445da3
mov edx, dword [ebp + 4]
mov eax, dword [edx + esi*4]
mov byte [eax + 0x40], 0
mov eax, ebp
add esi, 1
call fcn.00410900
cmp esi, eax
jl 0x409100
xor edi, edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov byte [esp + 0x98], 4
xor ebx, ebx
mov eax, ebp
mov dword [esp + 0x18], ebx
call fcn.00410900
test eax, eax
jle 0x409689
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x4091a6
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp ebx, eax
jb 0x4091ab
call fcn.00445da3
mov esi, dword [ebp + 4]
lea edi, [ebx*4]
add esi, edi
test byte [0x4b2540], 1
jne 0x4091e9
or dword [0x4b2540], 1
mov byte [esp + 0x98], 5
call fcn.00416e10
push 0x4797e0
call fcn.00446492
add esp, 4
mov byte [esp + 0x98], 4
mov eax, dword [esi]
mov ecx, 0x4b17c8
call fcn.00412d90
test al, al
je 0x40966f
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x409210
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp ebx, eax
jb 0x409215
call fcn.00445da3
mov ecx, dword [ebp + 4]
mov edx, dword [edi + ecx]
cmp byte [edx + 0x40], 0
jne 0x4092d6
mov eax, dword [esp + 0x40]
test eax, eax
mov ecx, dword [esp + 0x44]
je 0x409255
mov esi, dword [esp + 0x48]
mov edx, ecx
sub edx, eax
sub esi, eax
sar edx, 2
sar esi, 2
cmp edx, esi
jae 0x409255
mov eax, ecx
add eax, 4
mov dword [ecx], ebx
mov dword [esp + 0x44], eax
jmp 0x40966f
cmp eax, ecx
mov dword [esp + 0x20], ecx
jbe 0x40926a
call fcn.00445da3
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x409277
mov edx, ecx
sub edx, eax
sar edx, 2
jne 0x40927b
xor esi, esi
jmp 0x40928f
cmp eax, ecx
mov edi, eax
jbe 0x409286
call fcn.00445da3
mov esi, dword [esp + 0x20]
sub esi, edi
sar esi, 2
mov eax, dword [esp + 0x20]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x20]
lea ecx, [esp + 0x44]
call fcn.00418dd0
mov ecx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x44]
mov edi, ecx
jbe 0x4092bb
call fcn.00445da3
mov ecx, dword [esp + 0x40]
lea eax, [edi + esi*4]
cmp eax, dword [esp + 0x44]
ja 0x4092cc
cmp eax, ecx
jae 0x40966f
call fcn.00445da3
jmp 0x40966f
push ebx
mov eax, 0x4adb7c
call fcn.0040d150
mov esi, eax
test esi, esi
je 0x40932b
cmp dword [esi + 0x2c], 0
je 0x40932b
push 0x482200
push ebx
mov edi, 0x4adb7c
call fcn.0040d650
mov ecx, dword [esi + 0x2c]
push 5
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [esi + 0x2c]
push 0x4831cc
push edx
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [esi + 0x2c]
push 0
push 0
push 0x402
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
test byte [0x4b2540], 1
jne 0x40935d
or dword [0x4b2540], 1
mov byte [esp + 0x98], 6
call fcn.00416e10
push 0x4797e0
call fcn.00446492
add esp, 4
mov byte [esp + 0x98], 4
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x409370
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp ebx, eax
jb 0x409375
call fcn.00445da3
mov eax, dword [ebp + 4]
lea edi, [ebx*4]
mov ecx, dword [eax + edi]
add eax, edi
mov eax, dword [0x4b17c8]
push 1
push ecx
lea edx, [esp + 0x3c]
push edx
mov edx, dword [eax + 8]
mov ecx, 0x4b17c8
call edx
test al, al
jne 0x409495
push ebx
mov eax, 0x4adb7c
call fcn.0040d150
test eax, eax
je 0x4093c2
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x4093c2
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x4831dc
push ebx
mov edi, 0x4adb7c
call fcn.0040d650
lea ecx, [esp + 0x34]
call fcn.0046cb50
lea ecx, [esp + 0x34]
call fcn.0046bdf0
mov eax, dword [esp + 0x40]
test eax, eax
mov ecx, dword [esp + 0x44]
je 0x409414
mov esi, dword [esp + 0x48]
mov edx, ecx
sub edx, eax
sub esi, eax
sar edx, 2
sar esi, 2
cmp edx, esi
jae 0x409414
mov eax, ecx
add eax, 4
mov dword [ecx], ebx
mov dword [esp + 0x44], eax
jmp 0x40966f
cmp eax, ecx
mov dword [esp + 0x20], ecx
jbe 0x409429
call fcn.00445da3
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x409436
mov edx, ecx
sub edx, eax
sar edx, 2
jne 0x40943a
xor esi, esi
jmp 0x40944e
cmp eax, ecx
mov edi, eax
jbe 0x409445
call fcn.00445da3
mov esi, dword [esp + 0x20]
sub esi, edi
sar esi, 2
mov eax, dword [esp + 0x20]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x20]
lea ecx, [esp + 0x44]
call fcn.00418dd0
mov ecx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x44]
mov edi, ecx
jbe 0x40947a
call fcn.00445da3
mov ecx, dword [esp + 0x40]
lea eax, [edi + esi*4]
cmp eax, dword [esp + 0x44]
ja 0x40948b
cmp eax, ecx
jae 0x40966f
call fcn.00445da3
jmp 0x40966f
push 0x4ac784
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x4ac784
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x4adb80]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 1
push ebx
push 0x509
push ecx
call esi
test byte [0x4b2540], 1
jne 0x4094f4
or dword [0x4b2540], 1
mov byte [esp + 0x98], 7
call fcn.00416e10
push 0x4797e0
call fcn.00446492
add esp, 4
mov byte [esp + 0x98], 4
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x409507
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp ebx, eax
jb 0x40950c
call fcn.00445da3
mov eax, dword [ebp + 4]
mov edx, dword [eax + edi]
add eax, edi
push edx
mov edx, dword [0x4b17c8]
lea eax, [esp + 0x38]
push eax
mov eax, dword [edx + 0xc]
mov ecx, 0x4b17c8
call eax
test al, al
mov ecx, dword [0x4adb80]
push 0
push ebx
push 0x509
push ecx
jne 0x40961c
call esi
push ebx
mov eax, 0x4adb7c
call fcn.0040d150
test eax, eax
je 0x409562
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x409562
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x4831e8
push ebx
mov edi, 0x4adb7c
call fcn.0040d650
mov eax, dword [esp + 0x40]
test eax, eax
mov ecx, dword [esp + 0x44]
je 0x4095a2
mov esi, dword [esp + 0x48]
mov edx, ecx
sub edx, eax
sub esi, eax
sar edx, 2
sar esi, 2
cmp edx, esi
jae 0x4095a2
mov eax, ecx
add eax, 4
mov dword [ecx], ebx
mov dword [esp + 0x44], eax
jmp 0x40966f
cmp eax, ecx
mov dword [esp + 0x20], ecx
jbe 0x4095b7
call fcn.00445da3
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4095c4
mov edx, ecx
sub edx, eax
sar edx, 2
jne 0x4095c8
xor esi, esi
jmp 0x4095dc
cmp eax, ecx
mov edi, eax
jbe 0x4095d3
call fcn.00445da3
mov esi, dword [esp + 0x20]
sub esi, edi
sar esi, 2
mov eax, dword [esp + 0x20]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x20]
lea ecx, [esp + 0x44]
call fcn.00418dd0
mov ecx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x44]
mov edi, ecx
jbe 0x409608
call fcn.00445da3
mov ecx, dword [esp + 0x40]
lea eax, [edi + esi*4]
cmp eax, dword [esp + 0x44]
ja 0x409615
cmp eax, ecx
jae 0x40966f
call fcn.00445da3
jmp 0x40966f
call esi
push ebx
mov eax, 0x4adb7c
call fcn.0040d150
test eax, eax
je 0x40963d
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x40963d
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x4831c0
push ebx
mov edi, 0x4adb7c
call fcn.0040d650
push 0
push ebx
call fcn.0040df00
push ebx
mov eax, edi
call fcn.0040d150
test eax, eax
je 0x409665
mov byte [eax + 5], 0
mov esi, 0x4adb7c
call fcn.0040d700
add ebx, 1
mov eax, ebp
mov dword [esp + 0x18], ebx
call fcn.00410900
cmp ebx, eax
jl 0x409193
mov edi, dword [esp + 0x44]
lea eax, [esp + 0x3c]
xor esi, esi
call fcn.00410900
test eax, eax
jbe 0x4096e0
jmp 0x4096a4
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x4096b7
sub edi, ecx
sar edi, 2
mov eax, edi
cmp esi, eax
jb 0x4096c0
call fcn.00445da3
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + esi*4]
push 1
push eax
mov edi, 0x4adb7c
call fcn.0040df00
lea eax, [esp + 0x3c]
add esi, 1
call fcn.00410900
cmp esi, eax
jb 0x4096a0
mov edx, dword [0x4adbbc]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
xor edi, edi
push edi
push edx
call esi
mov eax, dword [0x4adbc0]
push edi
push eax
call esi
mov ecx, dword [0x4adbb8]
push 5
push ecx
call esi
mov eax, ebp
call fcn.00410900
cmp eax, 1
push 0x6b
jbe 0x40972c
mov edx, dword [0x4ada5c]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp eax, edi
je 0x409748
push 0x4831f8
jmp 0x409741
mov eax, dword [0x4ada5c]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp eax, edi
je 0x409748
push 0x48323c
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ecx, dword [0x4ac768]
push ecx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
mov byte [esp + 0x98], 0
mov eax, dword [esp + 0x40]
cmp eax, edi
je 0x40976e
push eax
call fcn.00445adc
add esp, 4
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
jmp 0x4090b7