Function at 0x42ce7a
Capabilities:
Check os version
Get disk information
Get file attributes
Get file size
Get graphical window text
Identify system language via api
Query service status
Read .ini file
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2648
call fcn.004a9330
push ebx
push esi
push edi
push 3
pop edi
mov dword [ebp - 0x64], ecx
lea ecx, [ebp - 0x1e0]
push edi
mov byte [ebp - 0x7d], dl
call fcn.00413c51
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jge 0x42ceca
push dword [ebp - 8]
lea ecx, [ebp - 0x1e0]
call fcn.00413d3f
mov dword [eax], 0xf70ad6f2
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x42ceac
xor eax, eax
push 2
mov dword [ebp - 8], eax
pop esi
cmp dword [ebp - 8], esi
jge 0x42ceed
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x138], 0
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x42ced5
xor eax, eax
mov dword [ebp - 0x134], esi
push 1
pop ebx
cmp dword [ebp - 0x134], eax
jl 0x42d03e
mov dword [ebp - 0x34], 0xfb770a77
lea ecx, [ebp - 0x1e0]
mov dword [ebp - 0x40], esi
push dword [ebp - 0x134]
call fcn.00413d3f
cmp dword [eax], 0
jne 0x42d039
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x42d024
push dword [ebp - 0x34]
lea ecx, [ebp - 0x1e0]
call fcn.00413d3f
push dword [ebp - 0x134]
lea ecx, [ebp - 0x1e0]
mov esi, eax
call fcn.00413d3f
mov ecx, dword [esi]
push dword [ebp - 0x34]
mov dword [eax], ecx
lea ecx, [ebp - 0x1e0]
call fcn.00413d3f
mov eax, dword [ebp - 0x138]
lea ecx, [ebp - 0x1e0]
push dword [ebp - 0x134]
call fcn.00413d3f
push dword [ebp - 0x34]
lea ecx, [ebp - 0x1e0]
call fcn.00413d3f
push dword [ebp - 0x134]
lea ecx, [ebp - 0x1e0]
call fcn.00413d3f
push 7
pop ecx
push dword [ebp - 0x34]
cmp ecx, dword [eax]
lea ecx, [ebp - 0x1e0]
sbb esi, esi
neg esi
call fcn.00413d3f
mov eax, dword [eax]
add eax, esi
imul eax, eax, 5
test eax, eax
jne 0x42cfc4
cmp dword [ebp - 0x34], eax
jne 0x42cfc4
mov esi, eax
jmp 0x42cfc9
xor eax, eax
lea esi, [eax + 1]
push 2
lea ecx, [ebp - 0x1e0]
call fcn.00413d3f
mov ecx, dword [ebp - 0x134]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0x1e0]
setle dl
xor ebx, ebx
cmp dword [eax], edx
setle bl
xor eax, eax
push eax
call fcn.00413d3f
lea ecx, [ebp - 0x1e0]
mov eax, dword [eax]
imul eax, ebx
mov dword [ebp - 0x38], eax
push dword [ebp - 0x134]
call fcn.00413d3f
mov ecx, dword [ebp - 0x38]
xor edx, edx
push 2
pop esi
cmp ecx, dword [eax]
setne dl
mov dword [ebp - 0x40], edx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jle 0x42cf30
dec dword [ebp - 0x134]
jns 0x42cf02
xor ebx, ebx
xor eax, eax
inc ebx
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x42d04f
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
lea ecx, [ebp - 0x1e0]
call fcn.00413d23
xor eax, eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x42d085
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x154], 0xc75b57fd
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x42d067
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x154], 0xffffffef
jmp 0x42d0b9
mov dword [ebp - 0x17f0], eax
mov dword [ebp - 0x17ec], eax
mov dword [ebp - 0x17e8], eax
mov dword [ebp - 0x17e4], eax
mov dword [ebp - 0x17f0], 0xc2a2c7c8
inc dword [ebp - 0x154]
cmp dword [ebp - 0x154], 5
jge 0x42d091
push edi
lea ecx, [ebp - 0x204]
call fcn.00413c51
push ebx
lea ecx, [ebp - 0xb90]
call fcn.00413c51
push esi
lea ecx, [ebp - 0x66c]
call fcn.00413c51
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x42d114
push dword [ebp - 8]
lea ecx, [ebp - 0xb90]
call fcn.00413d3f
mov dword [eax], 0xfffffffb
xor eax, eax
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], eax
jl 0x42d0f0
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 8], eax
cmp dword [ebp - 8], esi
jge 0x42d13a
push dword [ebp - 8]
lea ecx, [ebp - 0x66c]
call fcn.00413d3f
mov dword [eax], 0x897a4a12
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x42d11c
xor eax, eax
push eax
lea ecx, [ebp - 0x66c]
call fcn.00413d3f
and dword [eax], 0
jmp 0x42d1b0
xor eax, eax
push eax
call fcn.00413d3f
lea ecx, [ebp - 0xb90]
push dword [eax]
call fcn.00413d3f
mov esi, eax
lea ecx, [ebp - 0xb90]
xor eax, eax
push eax
call fcn.00413d3f
mov esi, dword [esi]
lea ecx, [ebp - 0x66c]
sub esi, dword [eax]
neg esi
sbb esi, esi
add esi, 0x633ebe8e
neg esi
sbb esi, esi
xor eax, eax
push eax
inc esi
call fcn.00413d3f
lea ecx, [ebp - 0xb90]
push dword [eax]
call fcn.00413d3f
lea ecx, [ebp - 0x66c]
mov dword [eax], esi
xor eax, eax
push eax
call fcn.00413d3f
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x66c]
push eax
call fcn.00413d3f
lea ecx, [ebp - 0x66c]
cmp dword [eax], 0
jle 0x42d14b
call fcn.00413d23
lea ecx, [ebp - 0xb90]
call fcn.00413d23
mov dword [ebp - 0x18], 0xeb90
lea ecx, [ebp - 0xec0]
push ebx
call fcn.00413c51
mov dword [ebp - 0x38], 0xc0e3e763
xor eax, eax
mov dword [ebp - 0x4c], 0x6acb8f2b
mov dword [ebp - 0x40], 0xe81720d7
mov dword [ebp - 0x44], 0xfffffffb
mov dword [ebp - 0x40], 0xfffffffe
mov dword [ebp - 0x3c], 0x138b36ce
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x42d241
push dword [ebp - 0x14]
lea ecx, [ebp - 0xec0]
call fcn.00413d3f
mov dword [eax], 0x63ffaf07
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x42d220
xor eax, eax
push eax
lea ecx, [ebp - 0xec0]
call fcn.00413d3f
mov edx, dword [ebp - 0x38]
mov esi, eax
mov ecx, dword [ebp - 0x18]
xor eax, eax
cmp edx, ecx
setge al
xor ecx, ecx
cmp eax, dword [esi]
mov eax, dword [ebp - 0x4c]
setl cl
xor ebx, ebx
cmp ecx, eax
lea ecx, [ebp - 0xec0]
setle bl
xor eax, eax
push eax
call fcn.00413d3f
mov dword [eax], ebx
test ebx, ebx
je 0x42d28c
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x42d28c
mov edx, eax
jmp 0x42d291
xor eax, eax
lea edx, [eax + 1]
inc dword [ebp - 0x44]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
cmp eax, edx
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
dec ecx
cmp ecx, eax
setl dl
xor ecx, ecx
add edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
cmp edx, eax
mov eax, dword [ebp - 0x18]
setge cl
xor ebx, ebx
neg ecx
inc ebx
cmp ecx, ebx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, 0x6d20
setge cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x4c]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0xec0]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
call fcn.00413d23
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], 0xb110c93b
mov dword [ebp - 0x18], eax
jmp 0x42d342
mov dword [ebp - 0x14], 0xdf98a59c
mov dword [ebp - 0x14], 9
jmp 0x42d339
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x42d336
push 0x1629
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff0
jne 0x42d31e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x18
jne 0x42d30e
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jge 0x42d36e
push dword [ebp - 8]
lea ecx, [ebp - 0x204]
call fcn.00413d3f
mov dword [eax], 0xf70ad6f2
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x42d350
xor eax, eax
push 2
mov dword [ebp - 8], eax
pop esi
jmp 0x42d387
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x10c], 0
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x42d376
push 4
lea ecx, [ebp - 0x91c]
call fcn.00413c51
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x42d3be
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x194c], 0xc93
xor eax, eax
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], eax
jl 0x42d3a3
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x42d3d4
push dword [ebp - 8]
call fcn.00413d3f
mov dword [eax], 0xfffffffd
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
lea ecx, [ebp - 0x91c]
jl 0x42d3c3
push esi
call fcn.00413d3f
xor ebx, ebx
mov dword [eax], ebx
jmp 0x42d41c
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], al
je 0x42d3ff
push eax
call dword [sym.imp.USER32.dll_SetKeyboardState]
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], bl
je 0x42d40e
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push esi
lea ecx, [ebp - 0x91c]
call fcn.00413d3f
dec dword [eax]
push esi
lea ecx, [ebp - 0x91c]
call fcn.00413d3f
cmp dword [eax], ebx
jge 0x42d3ec
lea ecx, [ebp - 0x91c]
call fcn.00413d23
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
xor eax, eax
mov dword [ebp - 0x108], esi
cmp dword [ebp - 0x108], eax
jl 0x42dd32
jmp 0x42d455
xor eax, eax
mov dword [ebp - 8], 0xfffffffd
mov dword [ebp - 0x38], 6
mov dword [ebp - 0x38], 0x75761ac7
mov dword [ebp - 0x40], 0x6e523240
mov dword [ebp - 0x14], eax
jmp 0x42d487
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x300], 0xfffffffc
inc dword [ebp - 0x14]
xor eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jl 0x42d476
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 8]
neg esi
mov eax, dword [ebp - 8]
sbb esi, esi
xor edx, edx
neg esi
cmp ecx, eax
setl dl
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x300]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp esi, eax
mov eax, dword [ebp - 8]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 8]
setl cl
imul edx, ecx, 0xffffada9
sub edx, 0x81de
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor ebx, ebx
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x300]
mov eax, dword [ebp - 8]
cmp ecx, eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
setle bl
xor edx, edx
cmp ecx, eax
mov eax, 0xd77dfcc8
setle dl
sub edx, ebx
add edx, dword [ebp - 8]
imul edx, dword [ebp - 8]
cmp eax, edx
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], al
je 0x42d547
push eax
push eax
call edi
push eax
xor eax, eax
push eax
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
xor eax, eax
mov dword [ebp - 0x34], 0xfb770a77
xor ebx, ebx
mov dword [ebp - 0x18], 0xb0e446df
inc ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x42d57b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x74], 0xfffffff6
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x42d560
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x74], 0x17
jmp 0x42d59b
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x42d598
push eax
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringByteLen]
xor eax, eax
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 0x19
jle 0x42d584
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jg 0x42d781
push 3
pop esi
push esi
lea ecx, [ebp - 0x180]
call fcn.00413c51
xor eax, eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x42d5e7
push dword [ebp - 0x14]
lea ecx, [ebp - 0x180]
call fcn.00413d3f
mov dword [eax], 0x2e5664dc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x42d5c9
xor eax, eax
push eax
lea ecx, [ebp - 0x180]
call fcn.00413d3f
lea ecx, [ebp - 0x180]
and dword [eax], 0
xor eax, eax
push eax
call fcn.00413d3f
cmp dword [eax], 0
jg 0x42d768
xor eax, eax
mov dword [ebp - 0x44], 0xeafb5d1c
mov dword [ebp - 0x38], 0xa103
lea ecx, [ebp - 0x180]
push eax
call fcn.00413d3f
xor ebx, ebx
lea ecx, [ebp - 0x180]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x74]
test eax, eax
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
setne bl
xor eax, eax
push eax
call fcn.00413d3f
lea ecx, [ebp - 0x180]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x74]
mov eax, dword [ebp - 0x44]
xor eax, eax
push eax
call fcn.00413d3f
lea ecx, [ebp - 0x180]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x74]
sub ebx, eax
xor eax, eax
push eax
call fcn.00413d3f
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp ebx, ecx
setle dl
xor ecx, ecx
cmp edx, 0xf5f4
setne cl
xor edx, edx
dec ecx
imul ecx, dword [eax]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x44]
sete dl
sub edx, eax
mov eax, dword [ebp - 0x18]
add ecx, edx
mov dword [ebp + eax*4 - 0x74], ecx
xor eax, eax
push eax
lea ecx, [ebp - 0x180]
call fcn.00413d3f
mov esi, eax
lea ecx, [ebp - 0x180]
xor eax, eax
push eax
call fcn.00413d3f
mov ecx, dword [esi]
mov ecx, dword [ebp + ecx*4 - 0x74]
mov eax, dword [eax]
cmp ecx, dword [ebp + eax*4 - 0x74]
jg 0x42d6e7
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x74], 0
jne 0x42d6e7
xor eax, eax
mov esi, eax
jmp 0x42d6ec
xor eax, eax
lea esi, [eax + 1]
push eax
lea ecx, [ebp - 0x180]
call fcn.00413d3f
imul ecx, dword [ebp - 0x74], 0x2095
xor ebx, ebx
push 2
add ecx, 0x380e8413
cmp ecx, dword [eax]
lea ecx, [ebp - 0x180]
setle bl
call fcn.00413d3f
xor ecx, ecx
cmp ebx, dword [eax]
sete cl
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
add edx, esi
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
sete cl
xor eax, eax
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x180]
push eax
call fcn.00413d3f
lea ecx, [ebp - 0x180]
inc dword [eax]
xor eax, eax
push eax
call fcn.00413d3f
cmp dword [eax], 0
jle 0x42d60d
xor ebx, ebx
push 3
inc ebx
pop esi
lea ecx, [ebp - 0x180]
call fcn.00413d23
inc dword [ebp - 0x18]
xor eax, eax
cmp dword [ebp - 0x18], eax
jle 0x42d5b0
push 2
pop esi
mov dword [ebp - 0x40], esi
lea ecx, [ebp - 0x204]
push dword [ebp - 0x108]
call fcn.00413d3f
cmp dword [eax], 0
jne 0x42dd32
xor eax, eax
mov dword [ebp - 0x18], 0xb0e446df
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x42d7cd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7c], 0xfffffff6
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x42d7b2
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x7c], 0x17
jmp 0x42d7ed
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x42d7ea
push eax
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringByteLen]
xor eax, eax
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x7c], 0x19
jle 0x42d7d6
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jg 0x42d9d6
push 3
pop esi
push esi
lea ecx, [ebp - 0x190]
call fcn.00413c51
xor eax, eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x42d839
push dword [ebp - 0x14]
lea ecx, [ebp - 0x190]
call fcn.00413d3f
mov dword [eax], 0x2e5664dc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x42d81b
xor eax, eax
push eax
lea ecx, [ebp - 0x190]
call fcn.00413d3f
lea ecx, [ebp - 0x190]
and dword [eax], 0
xor eax, eax
push eax
call fcn.00413d3f
cmp dword [eax], 0
jg 0x42d9ba
xor eax, eax
mov dword [ebp - 0x44], 0xeafb5d1c
mov dword [ebp - 0x38], 0xa103
lea ecx, [ebp - 0x190]
push eax
call fcn.00413d3f
xor ebx, ebx
lea ecx, [ebp - 0x190]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x7c]
test eax, eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
setne bl
xor eax, eax
push eax
call fcn.00413d3f
lea ecx, [ebp - 0x190]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x7c]
mov eax, dword [ebp - 0x44]
xor eax, eax
push eax
call fcn.00413d3f
lea ecx, [ebp - 0x190]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x7c]
sub ebx, eax
xor eax, eax
push eax
call fcn.00413d3f
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp ebx, ecx
setle dl
xor ecx, ecx
cmp edx, 0xf5f4
setne cl
xor edx, edx
dec ecx
imul ecx, dword [eax]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x44]
sete dl
sub edx, eax
mov eax, dword [ebp - 0x18]
add ecx, edx
mov dword [ebp + eax*4 - 0x7c], ecx
xor eax, eax
push eax
lea ecx, [ebp - 0x190]
call fcn.00413d3f
mov esi, eax
lea ecx, [ebp - 0x190]
xor eax, eax
push eax
call fcn.00413d3f
mov ecx, dword [eax]
mov ecx, dword [ebp + ecx*4 - 0x7c]
mov eax, dword [esi]
cmp dword [ebp + eax*4 - 0x7c], ecx
jg 0x42d939
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x7c], 0
jne 0x42d939
xor eax, eax
mov esi, eax
jmp 0x42d93e
xor eax, eax
lea esi, [eax + 1]
push eax
lea ecx, [ebp - 0x190]
call fcn.00413d3f
imul ecx, dword [ebp - 0x7c], 0x2095
xor ebx, ebx
push 2
add ecx, 0x380e8413
cmp ecx, dword [eax]
lea ecx, [ebp - 0x190]
setle bl
call fcn.00413d3f
xor ecx, ecx
cmp ebx, dword [eax]
sete cl
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
add edx, esi
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
sete cl
xor eax, eax
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x190]
push eax
call fcn.00413d3f
lea ecx, [ebp - 0x190]
inc dword [eax]
xor eax, eax
push eax
call fcn.00413d3f
cmp dword [eax], 0
jle 0x42d85f
xor ebx, ebx
push 3
inc ebx
pop esi
lea ecx, [ebp - 0x190]
call fcn.00413d23
inc dword [ebp - 0x18]
xor eax, eax
cmp dword [ebp - 0x18], eax
jle 0x42d802
push 2
pop esi
mov dword [ebp - 0x34], eax
jmp 0x42dd1d
push esi
lea ecx, [ebp - 0x81c]
call fcn.00413c51
mov dword [ebp - 0x20], 0x905c8094
xor eax, eax
mov dword [ebp - 0x18], 0x54a20a29
mov dword [ebp - 0x40], 0xfffffff9
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x42da2b
mov ebx, 0xffff
push dword [ebp - 0x14]
lea ecx, [ebp - 0x81c]
call fcn.00413d3f
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x42da0e
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], eax
jl 0x42dc1b
push 3
pop ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x42da56
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x318], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x42da42
xor eax, eax
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], ebx
jg 0x42dc12
push dword [ebp - 0x318]
lea ecx, [ebp - 0x81c]
call fcn.00413d3f
cmp dword [eax], 0
jne 0x42dc0a
cmp dword [ebp - 0x318], 0xd1bc
je 0x42da9a
mov dword [ebp - 0x18], 0x607a9881
jmp 0x42dbf3
movdqa xmm0, xmmword [0xaa58f0]
lea eax, [ebp - 0x1e14]
push eax
lea eax, [ebp - 0x1e24]
push eax
lea ecx, [ebp - 0x2394]
movdqu xmmword [ebp - 0x1e24], xmm0
call fcn.00413d51
lea ecx, [ebp - 0x2db]
mov esi, eax
call fcn.00413d4e
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1cc4]
push dword [esi]
call fcn.00413cfd
mov dword [ebp - 0x18], ebx
xor eax, eax
cmp dword [ebp - 0x18], eax
jl 0x42dbe8
push 3
pop esi
push esi
lea ecx, [ebp - 0x1250]
call fcn.00413c51
xor eax, eax
mov dword [ebp - 0x40], 8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x42db29
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1250]
call fcn.00413d3f
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x42db0f
xor eax, eax
push eax
lea ecx, [ebp - 0x81c]
call fcn.00413d3f
lea ecx, [ebp - 0x81c]
cmp esi, dword [eax]
sbb eax, eax
neg eax
mov dword [ebp - 0x40], eax
push dword [ebp - 0x318]
call fcn.00413d3f
mov eax, dword [ebp - 0x314]
lea ecx, [ebp - 0x81c]
push dword [ebp - 0x318]
call fcn.00413d3f
cmp dword [eax], 0xd4aa
jge 0x42db87
xor eax, eax
lea ecx, [ebp - 0x1cc4]
push eax
call fcn.00413d3f
cmp dword [eax], 0
jne 0x42db87
xor eax, eax
mov esi, eax
jmp 0x42db8f
xor eax, eax
xor ebx, ebx
inc ebx
lea esi, [eax + 1]
push dword [ebp - 0x318]
lea ecx, [ebp - 0x81c]
call fcn.00413d3f
cmp esi, 0xf617a941
lea ecx, [ebp - 0x1250]
push ebx
sbb esi, esi
neg esi
sub esi, dword [eax]
neg esi
sbb esi, esi
inc esi
neg esi
call fcn.00413d3f
xor ecx, ecx
cmp dword [eax], 0x28de637c
setl cl
xor eax, eax
cmp ecx, esi
lea ecx, [ebp - 0x1250]
setl al
mov dword [ebp - 0x40], eax
call fcn.00413d23
dec dword [ebp - 0x18]
jns 0x42daef
lea ecx, [ebp - 0x1cc4]
call fcn.00413d23
inc dword [ebp - 0x318]
xor eax, eax
inc eax
push eax
pop ebx
cmp dword [ebp - 0x318], eax
jle 0x42da68
push 3
pop ecx
push 2
xor eax, eax
pop esi
dec dword [ebp - 0x20]
jns 0x42da3a
lea ecx, [ebp - 0x81c]
call fcn.00413d23
push dword [ebp - 0x34]
lea ecx, [ebp - 0x204]
call fcn.00413d3f
push dword [ebp - 0x108]
lea ecx, [ebp - 0x204]
mov esi, eax
call fcn.00413d3f
mov ecx, dword [esi]
push dword [ebp - 0x34]
mov dword [eax], ecx
lea ecx, [ebp - 0x204]
call fcn.00413d3f
mov eax, dword [ebp - 0x10c]
lea ecx, [ebp - 0x204]
push dword [ebp - 0x108]
call fcn.00413d3f
push dword [ebp - 0x34]
lea ecx, [ebp - 0x204]
call fcn.00413d3f
push dword [ebp - 0x108]
lea ecx, [ebp - 0x204]
call fcn.00413d3f
push 7
pop ecx
push dword [ebp - 0x34]
cmp ecx, dword [eax]
lea ecx, [ebp - 0x204]
sbb esi, esi
neg esi
call fcn.00413d3f
mov eax, dword [eax]
add eax, esi
imul eax, eax, 5
test eax, eax
jne 0x42dcba
cmp dword [ebp - 0x34], eax
jne 0x42dcba
mov esi, eax
jmp 0x42dcbf
xor eax, eax
lea esi, [eax + 1]
push 2
lea ecx, [ebp - 0x204]
call fcn.00413d3f
mov ecx, dword [ebp - 0x108]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0x204]
setle dl
xor ebx, ebx
cmp dword [eax], edx
setle bl
xor eax, eax
push eax
call fcn.00413d3f
lea ecx, [ebp - 0x204]
mov eax, dword [eax]
imul eax, ebx
mov dword [ebp - 0x38], eax
push dword [ebp - 0x108]
call fcn.00413d3f
mov ecx, dword [ebp - 0x38]
xor edx, edx
push 2
pop esi
cmp ecx, dword [eax]
push 1
setne dl
mov dword [ebp - 0x40], edx
inc dword [ebp - 0x34]
pop ebx
cmp dword [ebp - 0x34], esi
jle 0x42d9de
dec dword [ebp - 0x108]
jns 0x42d453
mov dword [ebp - 8], 0x2edc
xor edx, edx
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp ecx, eax
setne dl
xor eax, eax
dec edx
jne 0x42dd50
cmp dword [ebp - 8], eax
je 0x42dd5c
cmp dword [ebp - 8], eax
je 0x42dd5c
xor eax, eax
lea edx, [eax + 1]
jmp 0x42dd5e
mov edx, eax
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0xb64b5c6f
jne 0x42dd7e
cmp dword [ebp - 8], eax
je 0x42dd7e
xor esi, esi
inc esi
mov eax, esi
jmp 0x42dd81
xor esi, esi
inc esi
xor ecx, ecx
cmp eax, esi
mov eax, dword [ebp - 8]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 8]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setge dl
xor ecx, ecx
add edx, 0x78e0
cmp eax, edx
setl cl
cmp ecx, 6
sbb eax, eax
inc eax
cmp dword [ebp - 8], eax
jl 0x42ddd0
xor eax, eax
cmp dword [ebp - 8], eax
je 0x42ddd2
xor esi, esi
lea ecx, [eax + 1]
inc esi
jmp 0x42ddd4
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 8]
imul eax, ecx
cmp eax, dword [ebp - 8]
jl 0x42de50
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop ebx
cmp dword [ebp - 0x14], ebx
jge 0x42de04
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2540], 0x6046e74a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x42ddec
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x42de46
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x42de1d
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegConnectRegistryW]
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x42de43
push 0x18ff
push 0x1d6d
push 0x914
call edi
push eax
xor eax, eax
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
xor eax, eax
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jle 0x42de09
xor eax, eax
jmp 0x42de69
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], al
je 0x42de66
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
xor eax, eax
push 3
pop ebx
mov byte [ebp - 9], al
mov dword [ebp - 0x40], 0x9d568d52
push 0xfffffffffffffffe
pop ecx
mov dword [ebp - 0x11d8], ecx
mov dword [ebp - 0x11d4], ecx
mov dword [ebp - 0x11d0], ecx
mov dword [ebp - 0x11cc], ecx
mov dword [ebp - 0x38], 0xc61c
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], 0xe8b01213
mov dword [ebp - 0x24], 0x62a4b15d
mov dword [ebp - 0x44], 0xba3f
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x42ded6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1770], 0xde30eca6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x42debd
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x42deea
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x11d4], eax
jle 0x42deea
xor eax, eax
jmp 0x42deec
mov eax, esi
mov dword [ebp - 0x18], eax
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x11d4]
neg ecx
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 0x3450
setne al
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], 0x16
jmp 0x42dfb4
mov dword [ebp - 0x10], 4
xor eax, eax
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x40], 0x63d62a04
mov dword [ebp - 0x4c], esi
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], al
je 0x42df4f
push eax
push eax
push 0x1836
call edi
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x42df5a
mov eax, dword [ebp - 0x1764]
mov eax, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x1764]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1770]
mov eax, dword [ebp - 0x10]
dec dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x1764]
setne dl
sub eax, 5
neg eax
sbb eax, eax
inc eax
imul edx, eax
mov dword [ebp - 0x4c], edx
xor edx, edx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
add eax, 0xfffffff2
add eax, edx
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe9
je 0x42df1b
cmp byte [ebp - 9], 0
je 0x42e263
push esi
lea ecx, [ebp - 0x4a0]
call fcn.00413c51
xor eax, eax
mov dword [ebp - 0x38], 0xfffffffc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], esi
jge 0x42e009
push dword [ebp - 8]
lea ecx, [ebp - 0x4a0]
call fcn.00413d3f
mov dword [eax], 0x6f50
xor eax, eax
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], eax
jl 0x42dfe5
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 2
jge 0x42e02b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1d0], 0xca9f8d19
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x42e012
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x42e04b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xed8], 0x9c279a20
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x42e033
xor eax, eax
push eax
lea ecx, [ebp - 0x4a0]
call fcn.00413d3f
mov eax, dword [eax]
mov dword [ebp - 0x1d0], eax
test eax, eax
jne 0x42e097
cmp dword [ebp - 0x1cc], eax
je 0x42e099
mov eax, dword [ebp - 0x1cc]
xor ecx, ecx
cmp eax, 0x964a
mov eax, dword [ebp - 0x1d0]
setl cl
sub ecx, eax
mov dword [ebp - 0xed0], ecx
je 0x42e091
mov eax, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1cc]
xor eax, eax
push eax
lea ecx, [ebp - 0x4a0]
call fcn.00413d3f
xor eax, eax
lea ecx, [ebp - 0x4a0]
push eax
call fcn.00413d3f
xor ebx, ebx
lea ecx, [ebp - 0x4a0]
cmp dword [eax], esi
setne bl
xor eax, eax
push eax
call fcn.00413d3f
xor ecx, ecx
cmp ebx, dword [eax]
sete cl
xor eax, eax
add ecx, 0xd743
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x4a0]
push eax
call fcn.00413d3f
mov ecx, dword [ebp - 0x40]
cmp dword [eax], ecx
jle 0x42e202
push 3
pop ebx
mov dword [ebp - 0x18], 0xffffffff
lea ecx, [ebp - 0x1628]
push ebx
call fcn.00413c51
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x42e129
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xd70], 0xca72cb56
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x42e111
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x42e14f
push dword [ebp - 8]
lea ecx, [ebp - 0x1628]
call fcn.00413d3f
mov dword [eax], 0x5b04ce9d
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x42e131
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x42e1d2
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor eax, eax
cmp dword [ebp - 0xd6c], eax
jne 0x42e16e
mov edi, eax
cmp dword [ebp - 0x1d0], eax
je 0x42e170
mov edi, esi
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x4a0]
mov dword [ebp - 0xed4], esi
push eax
call fcn.00413d3f
xor ecx, ecx
cmp edi, dword [eax]
mov eax, dword [ebp - 0xd6c]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x18]
sete dl
imul eax, edx
imul ecx, eax
mov eax, dword [ebp - 0xd6c]
imul ecx, esi
add eax, ecx
mov dword [ebp - 0xd68], eax
jne 0x42e1c9
xor eax, eax
lea ecx, [ebp - 0x4a0]
push eax
call fcn.00413d3f
mov eax, dword [ebp - 0x18]
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov ecx, dword [ebp - 0x18]
xor ebx, ebx
mov eax, dword [ebp - 0xed0]
cmp eax, ecx
lea ecx, [ebp - 0x1628]
setl bl
xor eax, eax
push eax
call fcn.00413d3f
lea ecx, [ebp - 0x1628]
mov dword [eax], ebx
mov dword [ebp - 0x38], ebx
call fcn.00413d23
jmp 0x42e24e
mov dword [ebp - 0x4c], esi
xor ecx, ecx
mov dword [ebp - 0x3c], 0xa349a2dd
mov dword [ebp - 0x3c], 0xffffffff
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
test eax, eax
setns cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0xed0], 0x55faf230
inc eax
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x38]
lea ecx, [ebp - 0x4a0]
call fcn.00413d23
xor eax, eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
lea ecx, [ebp - 0x204]
call fcn.00413d23
mov eax, 0x3556
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
xor eax, eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x42e29f
push eax
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
xor eax, eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42e2ae
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
movdqa xmm0, xmmword [0xaa58e0]
lea eax, [ebp - 0x1e44]
push eax
xor ebx, ebx
mov dword [ebp - 0x1c], 0xb674
lea eax, [ebp - 0x1e54]
inc ebx
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x22bc]
mov dword [ebp - 0x20], 0xd02e
push eax
movdqu xmmword [ebp - 0x1e54], xmm0
call fcn.00413d51
lea ecx, [ebp - 0x2fa]
mov esi, eax
call fcn.00413d4e
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1930]
push dword [esi]
call fcn.00413cfd
mov dword [ebp - 0x38], 0x749e
xor eax, eax
mov dword [ebp - 0x40], 0xb72b416c
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x42e33c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa9c], 0x9b65cab4
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x42e321
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x42e35c
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setne dl
cmp edx, 0xff60
jle 0x42e35c
xor eax, eax
mov ecx, eax
jmp 0x42e361
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sete dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x20]
jne 0x42e381
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x42e384
xor eax, eax
inc eax
xor ebx, ebx
xor edx, edx
inc ebx
cmp eax, ebx
mov eax, dword [ebp - 0x20]
push 2
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setg cl
xor edx, edx
cmp ecx, 0xfffffff6
lea ecx, [ebp - 0x1930]
setl dl
xor ebx, ebx
cmp edx, eax
setne bl
call fcn.00413d3f
mov dword [eax], ebx
mov eax, dword [ebp - 0x1c]
add eax, ebx
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x1c]
jne 0x42e3d1
cmp dword [ebp - 0x18], eax
jne 0x42e3d1
mov ecx, eax
jmp 0x42e3d6
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x18]
imul eax, ecx
test eax, eax
je 0x42e3ec
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x42e3ee
lea ecx, [eax + 1]
jmp 0x42e3f0
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x20]
sub ecx, eax
sub ecx, 6
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0xa9c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp ecx, 0xb2bc
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x1930]
call fcn.00413d23
movdqa xmm0, xmmword [0xaa5900]
lea eax, [ebp - 0x2164]
push eax
lea eax, [ebp - 0x2174]
push eax
lea ecx, [ebp - 0x23d4]
movdqu xmmword [ebp - 0x2174], xmm0
call fcn.00413d51
lea ecx, [ebp - 0x2dd]
mov esi, eax
call fcn.00413d4e
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x768]
push dword [esi]
call fcn.00413cfd
mov dword [ebp - 0x1c], 0xc8094a18
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x38], 0xfffb
push 3
mov dword [ebp - 0x40], 0xfffffff8
mov dword [ebp - 0x1c], eax
pop ebx
jmp 0x42e5ff
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x42e4cc
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x234], 2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x42e4b4
xor eax, eax
mov dword [ebp - 0x234], ebx
cmp dword [ebp - 0x234], eax
jl 0x42e5fc
mov dword [ebp - 0x40], 0xdbaf
mov dword [ebp - 0x14], eax
jmp 0x42e4fb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x11b8], 0x233f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x42e4ea
push dword [ebp - 0x234]
lea ecx, [ebp - 0x768]
call fcn.00413d3f
push dword [ebp - 0x234]
lea ecx, [ebp - 0x768]
mov esi, eax
call fcn.00413d3f
mov ecx, dword [esi]
mov dword [eax], ecx
lea ecx, [ebp - 0x768]
mov eax, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x234]
mov eax, dword [ebp - 0x11b8]
mov eax, dword [ebp - 0x11b8]
push dword [ebp - 0x234]
call fcn.00413d3f
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x768]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x234]
mov eax, dword [ebp - 0x24]
xor eax, eax
inc eax
push eax
call fcn.00413d3f
mov dword [ebp - 0x18], ebx
imul eax, dword [ebp - 0x38], 0xf2b8
add eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x234]
jge 0x42e599
push dword [ebp - 0x234]
lea ecx, [ebp - 0x768]
call fcn.00413d3f
xor eax, eax
lea ecx, [ebp - 0x768]
push eax
call fcn.00413d3f
cmp dword [eax], 0
je 0x42e5e4
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x42e5dc
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42e5d9
push eax
push 0xdb5
push 0x3ac
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetDIBColorTable]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x19
je 0x42e5b3
jmp 0x42e5ed
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x234]
push 0
pop eax
jns 0x42e4de
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x42e4a5
lea ecx, [ebp - 0x768]
call fcn.00413d23
push 2
lea ecx, [ebp - 0xd4c]
call fcn.00413c51
xor eax, eax
mov dword [ebp - 0x44], 0x635290ce
inc eax
lea ecx, [ebp - 0xa0c]
push eax
call fcn.00413c51
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 2
jge 0x42e660
push dword [ebp - 8]
lea ecx, [ebp - 0xd4c]
call fcn.00413d3f
mov dword [eax], 0xf2fdad5
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x42e641
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x42e67c
push dword [ebp - 8]
lea ecx, [ebp - 0xa0c]
call fcn.00413d3f
mov dword [eax], 0xc0021fbb
inc dword [ebp - 8]
xor eax, eax
inc eax
cmp dword [ebp - 8], eax
jl 0x42e665
push 7
pop eax
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x1268]
push 4
call fcn.00413c51
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], eax
jmp 0x42e6b5
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1268]
call fcn.00413d3f
or dword [eax], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x42e6a1
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0xd4c]
xor ebx, ebx
inc ebx
push ebx
call fcn.00413d3f
push 3
pop eax
push eax
lea ecx, [ebp - 0x1268]
call fcn.00413d3f
push ebx
lea ecx, [ebp - 0xd4c]
or dword [eax], 0xffffffff
mov eax, dword [ebp - 0x44]
call fcn.00413d3f
mov ecx, 0xffff
cmp dword [ebp - 0x44], ecx
sbb eax, eax
neg eax
add eax, dword [ebp - 0x38]
sub eax, ecx
lea ecx, [ebp - 0xa0c]
neg eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
xor eax, eax
push eax
call fcn.00413d3f
lea ecx, [ebp - 0xa0c]
mov dword [eax], 0xffff0005
xor eax, eax
push eax
call fcn.00413d3f
mov esi, eax
lea ecx, [ebp - 0xa0c]
xor eax, eax
push eax
call fcn.00413d3f
mov ecx, dword [eax]
mov dword [esi], ecx
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x1268]
call fcn.00413d23
lea ecx, [ebp - 0xa0c]
call fcn.00413d23
lea ecx, [ebp - 0xd4c]
call fcn.00413d23
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x1c], 0xe
cmp dword [ebp - 0x1c], 0x16
jl 0x42e835
xor eax, eax
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x18], eax
jmp 0x42e81b
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x42e7b4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c0], 0xc4c8d3c8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x42e79b
xor eax, eax
mov dword [ebp - 0x2bc], eax
cmp dword [ebp - 0x2bc], 0xa
jg 0x42e818
mov dword [ebp - 0x40], 0xab1943c6
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x2bc]
inc eax
jne 0x42e7e2
cmp dword [ebp - 0x2bc], eax
jne 0x42e7e2
mov ecx, eax
jmp 0x42e7e7
xor eax, eax
lea ecx, [eax + 1]
xor eax, eax
cmp ecx, 0x8e17
sete al
mov dword [ebp - 0x40], eax
xor eax, eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x42e807
push eax
push eax
call dword [sym.imp.USER32.dll_LoadCursorA]
inc dword [ebp - 0x2bc]
cmp dword [ebp - 0x2bc], 0xa
jle 0x42e7c3
xor eax, eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff2
jge 0x42e792
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x16
jge 0x42e783
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
xor eax, eax
push 2
mov dword [ebp - 0x14], eax
pop esi
cmp dword [ebp - 0x14], esi
jge 0x42e85d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5d0], 0x5540d7f8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x42e845
xor eax, eax
mov dword [ebp - 0x5d0], eax
jmp 0x42e87a
cmp byte [ebp - 9], 0
je 0x42e874
push eax
call dword [sym.imp.ADVAPI32.dll_GetLengthSid]
xor eax, eax
dec dword [ebp - 0x5d0]
cmp dword [ebp - 0x5d0], 0xffffffec
mov byte [ebp - 9], al
jge 0x42e865
cmp byte [ebp - 9], 0
je 0x42e8a3
push eax
push eax
push 0x2444
push 0xd14
call edi
push eax
call dword [sym.imp.USER32.dll_ScrollWindow]
xor eax, eax
mov dword [ebp - 0x44], 0x37ac
xor ecx, ecx
mov dword [ebp - 8], 0xa8eac8b
inc ecx
mov dword [ebp - 0x18], 0xaa08
mov dword [ebp - 0x14], 0xf63588c5
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x24], eax
push 4
mov dword [ebp - 8], 0x1d
pop ebx
cmp dword [ebp - 8], ebx
jge 0x42e92a
mov dword [ebp - 0x14], 0x14c90d29
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setg dl
xor ecx, ecx
sub edx, dword [ebp - 0x14]
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, edx
setg cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
cmp eax, 0xc9ca3191
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
dec dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x42e8d7
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x14]
add eax, dword [ebp - 8]
jne 0x42e940
cmp dword [ebp - 0x40], eax
je 0x42e942
mov eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x28], 0x51938d10
mov dword [ebp - 0x18], 0xc75b57fd
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x2c], 0x65925ef2
mov dword [ebp - 0x2c], 0xd1878abc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x42e9b8
push 7
pop ecx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x14], 0xb
jmp 0x42e9aa
mov dword [ebp - 0x38], 0xfffc
dec dword [ebp - 0x38]
jne 0x42e9b0
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 5
jle 0x42e99b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x42e98c
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffff3
jg 0x42ef34
lea eax, [ebp - 0x1e64]
mov dword [ebp - 0x20], 0xb32a831d
push eax
lea eax, [ebp - 0x1e74]
mov dword [ebp - 0x40], 0xfffffff6
xorps xmm0, xmm0
lea ecx, [ebp - 0x250c]
push eax
movdqu xmmword [ebp - 0x1e74], xmm0
call fcn.00413d51
lea ecx, [ebp - 0x369]
mov esi, eax
call fcn.00413d4e
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x16f4]
push dword [esi]
call fcn.00413cfd
mov dword [ebp - 0x38], 0x741311e2
xor eax, eax
mov dword [ebp - 0x44], 9
mov dword [ebp - 0x38], 0xd8339896
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x14], eax
inc eax
cmp dword [ebp - 0x14], eax
jge 0x42ea55
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x18a8], 0xf0ef2f37
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x42ea3c
push eax
lea ecx, [ebp - 0x16f4]
call fcn.00413d3f
mov edx, dword [ebp - 0x40]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0x27d373ee
setne cl
xor edx, edx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x16f4]
setle dl
xor ebx, ebx
add edx, 0x61be
inc ebx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
push ebx
call fcn.00413d3f
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x38]
neg edx
sbb edx, edx
add ecx, 0xfffd
inc edx
add edx, ecx
sub edx, dword [eax]
mov eax, dword [ebp - 0x4c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, ebx
setl cl
imul eax, ecx
imul eax, eax, 0x8033
add eax, dword [ebp - 0x4c]
je 0x42eadf
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x42eae1
mov eax, ebx
jmp 0x42eae1
xor eax, eax
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x16f4]
call fcn.00413d23
mov dword [ebp - 0x34], 0x8bb4aad9
lea ecx, [ebp - 0xef0]
push ebx
call fcn.00413c51
xor eax, eax
mov dword [ebp - 8], 0xfffffffb
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x42eb34
push dword [ebp - 0x14]
lea ecx, [ebp - 0xef0]
call fcn.00413d3f
mov dword [eax], 0x2799
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x42eb13
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], eax
jl 0x42ebda
push 3
pop ebx
push ebx
lea ecx, [ebp - 0x1280]
call fcn.00413c51
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x42eb77
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1280]
call fcn.00413d3f
mov dword [eax], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x42eb59
xor eax, eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42eb8e
push eax
push 0x2460
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SignalObjectAndWait]
push dword [ebp - 8]
lea ecx, [ebp - 0xef0]
call fcn.00413d3f
push dword [ebp - 8]
lea ecx, [ebp - 0xef0]
mov esi, eax
call fcn.00413d3f
mov esi, dword [esi]
lea ecx, [ebp - 0x1280]
push 2
sub esi, dword [eax]
neg esi
sbb esi, esi
inc esi
call fcn.00413d3f
lea ecx, [ebp - 0x1280]
mov dword [eax], esi
call fcn.00413d23
dec dword [ebp - 8]
jns 0x42eb43
xor eax, eax
mov dword [ebp - 8], 0xfffffffa
jmp 0x42ec08
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42ec05
push 0x7d
push 0x20f1
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_LineTo]
xor eax, eax
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffef
jne 0x42ebe3
lea ecx, [ebp - 0xef0]
call fcn.00413d23
mov dword [ebp - 0x20], 0xfffffffe
xor eax, eax
mov dword [ebp - 8], 0xfffffffc
mov dword [ebp - 0x1c], 0x49cec79e
mov dword [ebp - 0x20], 0x16501874
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 8]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, 0x8e92eda8
sete cl
sub ecx, dword [ebp - 8]
add ecx, dword [ebp - 8]
cmp eax, ecx
mov ecx, dword [ebp - 8]
sbb eax, eax
inc eax
sub ecx, eax
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 8]
jge 0x42ec8e
xor eax, eax
cmp dword [ebp - 8], eax
jne 0x42ec8e
mov ecx, eax
jmp 0x42ec93
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
sub eax, 2
cmp eax, ecx
jg 0x42ecaa
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x42ecad
xor eax, eax
inc eax
cmp eax, dword [ebp - 8]
jle 0x42ecbd
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x42ecbd
mov ecx, eax
jmp 0x42ecc2
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 8]
xor edx, edx
add ecx, 3
cmp ecx, eax
setne dl
xor eax, eax
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], eax
je 0x42ed01
mov dword [ebp - 0x40], 0xc2a41b87
mov eax, dword [ebp - 8]
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x42ecf3
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
jmp 0x42edc2
xor ebx, ebx
inc ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x14], eax
jmp 0x42ed1c
mov eax, dword [ebp - 0x14]
xor ebx, ebx
inc ebx
mov dword [ebp + eax*4 - 0x184], ebx
inc dword [ebp - 0x14]
xor eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jl 0x42ed0c
mov ecx, dword [ebp - 0x184]
xor edx, edx
mov eax, dword [ebp - 8]
add ecx, 0x4fbfd527
cmp eax, ecx
mov eax, dword [ebp - 0x184]
setne dl
neg eax
cmp eax, edx
jg 0x42ed4d
xor eax, eax
cmp eax, dword [ebp - 0x10]
je 0x42ed55
xor eax, eax
inc eax
cmp eax, dword [ebp - 0x10]
jne 0x42ed8b
xor eax, eax
cmp dword [ebp - 0x184], eax
je 0x42ed8d
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x184]
add eax, 0xecce
add eax, ecx
mov dword [ebp - 0x10], eax
xor eax, eax
cmp dword [ebp - 0x10], 0x9991
jg 0x42ed96
cmp dword [ebp - 0x40], eax
je 0x42ed96
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x42ed99
xor eax, eax
cmp dword [ebp - 8], eax
jne 0x42ed5f
mov ecx, eax
jmp 0x42ed64
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x42edaa
cmp dword [ebp - 8], eax
je 0x42edaa
mov eax, ecx
mov dword [ebp - 0x14], eax
xor eax, eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x42edc4
push 0xc51
call dword [sym.imp.USER32.dll_GetKeyboardType]
xor eax, eax
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 8], 0xfffffffd
mov dword [ebp - 0x38], 6
mov dword [ebp - 0x38], 0x75761ac7
mov dword [ebp - 0x40], 0x6e523240
mov dword [ebp - 0x14], eax
jmp 0x42edfd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x308], 0xfffffffc
inc dword [ebp - 0x14]
xor eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jl 0x42edec
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 8]
neg esi
mov eax, dword [ebp - 8]
sbb esi, esi
xor edx, edx
neg esi
cmp ecx, eax
setl dl
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x308]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp esi, eax
mov eax, dword [ebp - 8]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 8]
setl cl
imul edx, ecx, 0xffffada9
sub edx, 0x81de
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor ebx, ebx
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x308]
mov eax, dword [ebp - 8]
cmp ecx, eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
setle bl
xor edx, edx
cmp ecx, eax
mov eax, 0xd77dfcc8
setle dl
sub edx, ebx
add edx, dword [ebp - 8]
imul edx, dword [ebp - 8]
cmp eax, edx
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x42eebb
push eax
push eax
call edi
push eax
xor eax, eax
push eax
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov eax, dword [ebp - 0x34]
mov ecx, 0x57f2e3e3
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
sub ecx, eax
add ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x44]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [ebp - 0x18]
jne 0x42eeed
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x42ef09
cmp dword [ebp - 0x20], eax
je 0x42ef09
inc eax
xor edx, edx
push 7
pop ecx
cmp eax, ecx
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
cmp edx, eax
setl cl
mov dword [ebp - 0x28], ecx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff3
jle 0x42e9c5
push 2
pop esi
xor eax, eax
inc eax
push 7
mov dword [ebp - 0x44], eax
pop ecx
mov dword [ebp - 0x1c], 0xfffffff9
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa18]
mov dword [ebp - 0x18], 0x39f5fa31
push eax
call fcn.00413c51
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffffc
mov dword [ebp - 0x14], eax
jmp 0x42ef7f
push dword [ebp - 0x14]
lea ecx, [ebp - 0xa18]
call fcn.00413d3f
mov dword [eax], 9
inc dword [ebp - 0x14]
xor eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jl 0x42ef68
mov dword [ebp - 0x44], esi
mov ecx, 0xfff6
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
setne dl
xor ecx, ecx
cmp edx, 0xffffffff
setle cl
xor edx, edx
add ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
cmp eax, ecx
mov eax, 0xffff
setne dl
sub edx, eax
mov eax, 0xd9d75405
neg edx
sbb edx, edx
inc edx
cmp eax, edx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x2aa61fc2
setge cl
xor eax, eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], eax
jne 0x42efef
cmp dword [ebp - 0x38], eax
jne 0x42efef
cmp dword [ebp - 0x1c], eax
jne 0x42efef
xor ebx, ebx
inc ebx
jmp 0x42eff4
xor ebx, ebx
inc ebx
mov eax, ebx
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x42f053
mov eax, dword [ebp - 0x38]
mov ecx, 0xfff7
mov eax, dword [ebp - 0x18]
sub ecx, eax
jne 0x42f01e
push dword [ebp - 0x18]
lea ecx, [ebp - 0xa18]
call fcn.00413d3f
push dword [ebp - 0x18]
lea ecx, [ebp - 0xa18]
call fcn.00413d3f
push dword [ebp - 0x18]
lea ecx, [ebp - 0xa18]
call fcn.00413d3f
mov ecx, dword [ebp - 0x1c]
mov edx, 0xfffff052
sub edx, ecx
xor ecx, ecx
cmp dword [eax], edx
setle cl
mov dword [ebp - 0x44], ecx
dec dword [ebp - 0x18]
jns 0x42f001
lea ecx, [ebp - 0xa18]
call fcn.00413d23
push 3
pop edi
push edi
lea ecx, [ebp - 0x1f8]
call fcn.00413c51
xor eax, eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], 0x7609
mov dword [ebp - 0x44], 4
mov dword [ebp - 0x44], 0xffffffff
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 8], eax
jle 0x42f0a1
mov eax, dword [ebp - 8]
mov dword [ebp - 0x44], ebx
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x42f0b8
cmp dword [ebp - 0x18], eax
je 0x42f0b8
xor ebx, ebx
lea ecx, [eax + 1]
inc ebx
jmp 0x42f0ba
mov ecx, eax
xor eax, eax
cmp ecx, 0xabff5ecc
sete al
sub eax, dword [ebp - 0x18]
add eax, 0x2ef7
imul eax, dword [ebp - 8]
test eax, eax
jne 0x42f0d8
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
cmp eax, ebx
setl cl
add ecx, 0x6552
cmp ecx, 0xd1456b86
jb 0x42f150
xor eax, eax
xor edx, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x40], 9
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x44]
cmp eax, 0xfffffff6
setl dl
imul edx, dword [ebp - 8]
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x18]
jge 0x42f13d
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, 0x92f88b31
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x40], eax
jmp 0x42f1a0
push ebx
lea ecx, [ebp - 0x155c]
call fcn.00413c51
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x42f187
push dword [ebp - 0x14]
lea ecx, [ebp - 0x155c]
call fcn.00413d3f
mov dword [eax], 0xfffffff9
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x42f166
xor eax, eax
push eax
lea ecx, [ebp - 0x155c]
call fcn.00413d3f
lea ecx, [ebp - 0x155c]
inc dword [eax]
call fcn.00413d23
xor eax, eax
lea ecx, [ebp - 0x1948]
mov dword [ebp - 8], eax
push esi
call fcn.00413c51
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x42f1d9
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1948]
call fcn.00413d3f
mov dword [eax], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x42f1bb
xor eax, eax
mov dword [ebp - 8], 0x1d
jmp 0x42f1f7
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42f1f4
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
xor eax, eax
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffe6
je 0x42f1e2
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xfffffffd
push 0xfffffffffffffff7
pop esi
jl 0x42f37d
xor ebx, ebx
inc ebx
push 4
lea ecx, [ebp - 0xa28]
call fcn.00413c51
xor eax, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x42f24a
push dword [ebp - 0x14]
lea ecx, [ebp - 0xa28]
call fcn.00413d3f
mov dword [eax], 0x4e67
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x42f22b
xor eax, eax
push eax
lea ecx, [ebp - 0xa28]
call fcn.00413d3f
mov esi, eax
lea ecx, [ebp - 0xa28]
xor eax, eax
push eax
call fcn.00413d3f
mov ecx, dword [esi]
cmp ecx, dword [eax]
jle 0x42f287
mov ecx, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
cmp ecx, eax
setl dl
cmp edx, 0x59141a9
je 0x42f287
xor eax, eax
mov ecx, eax
jmp 0x42f28f
xor eax, eax
xor ebx, ebx
inc ebx
lea ecx, [eax + 1]
xor eax, eax
cmp ecx, 0xfffffffb
sete al
cmp eax, 0xc2184e5a
sbb eax, eax
add eax, 2
sub eax, dword [ebp - 8]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], eax
jl 0x42f362
push 2
pop esi
push 6
pop eax
mov dword [ebp - 0x10], 0xffffffff
lea ecx, [ebp - 0x1d74]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], eax
push esi
call fcn.00413c51
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x42f301
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1d74]
call fcn.00413d3f
mov dword [eax], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x42f2e3
xor eax, eax
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x10], eax
jl 0x42f34e
mov dword [ebp - 0x20], 0x2b4b5a9c
mov dword [ebp - 0x2c], 0xc86695cd
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x38], 0xba9a9843
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], eax
jl 0x42f338
dec dword [ebp - 0x38]
dec dword [ebp - 0x20]
jns 0x42f330
push dword [ebp - 0x18]
lea ecx, [ebp - 0xa28]
call fcn.00413d3f
dec dword [ebp - 0x10]
push 0
pop eax
jns 0x42f309
lea ecx, [ebp - 0x1d74]
call fcn.00413d23
dec dword [ebp - 0x18]
jns 0x42f2bd
lea ecx, [ebp - 0xa28]
call fcn.00413d23
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffffd
push 0xfffffffffffffff7
pop esi
jge 0x42f210
lea ecx, [ebp - 0x1948]
call fcn.00413d23
xor ebx, ebx
lea ecx, [ebp - 0xa38]
inc ebx
push ebx
call fcn.00413c51
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x3d4]
push 4
call fcn.00413c51
mov dword [ebp - 0x38], 0xfffffffc
lea ecx, [ebp - 0x1298]
push edi
call fcn.00413c51
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x42f3e8
push dword [ebp - 8]
lea ecx, [ebp - 0xa38]
call fcn.00413d3f
mov dword [eax], 0xf02
xor eax, eax
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], eax
jl 0x42f3c4
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jge 0x42f410
push dword [ebp - 8]
lea ecx, [ebp - 0x3d4]
call fcn.00413d3f
mov dword [eax], 6
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x42f3f1
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jge 0x42f433
push dword [ebp - 8]
lea ecx, [ebp - 0x1298]
call fcn.00413d3f
and dword [eax], 0
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x42f418
xor eax, eax
push eax
lea ecx, [ebp - 0xa38]
call fcn.00413d3f
push 0xfffffffffffffff9
pop ecx
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], eax
je 0x42f493
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x3d4]
mov dword [ebp - 0x18], eax
xor eax, eax
push eax
call fcn.00413d3f
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x3d4]
push edi
call fcn.00413d3f
xor eax, eax
lea ecx, [ebp - 0xa38]
push eax
call fcn.00413d3f
mov ecx, ebx
sub ecx, dword [eax]
mov eax, dword [ebp - 0x18]
add eax, ecx
je 0x42f491
xor eax, eax
lea esi, [eax + 1]
jmp 0x42f495
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x3d4]
call fcn.00413d3f
lea ecx, [ebp - 0x3d4]
mov eax, dword [eax]
add eax, esi
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
xor eax, eax
push eax
call fcn.00413d3f
xor eax, eax
lea ecx, [ebp - 0x3d4]
push eax
call fcn.00413d3f
push 2
lea ecx, [ebp - 0x3d4]
call fcn.00413d3f
xor ebx, ebx
lea ecx, [ebp - 0x3d4]
inc ebx
push ebx
call fcn.00413d3f
xor eax, eax
lea ecx, [ebp - 0x3d4]
push eax
call fcn.00413d3f
cmp dword [eax], 0
je 0x42f510
xor eax, eax
lea ecx, [ebp - 0xa38]
push eax
call fcn.00413d3f
cmp dword [eax], 0
je 0x42f510
xor eax, eax
lea esi, [eax + 1]
jmp 0x42f514
xor eax, eax
mov esi, eax
push 2
lea ecx, [ebp - 0x1298]
call fcn.00413d3f
lea ecx, [ebp - 0x1298]
mov dword [eax], esi
call fcn.00413d23
lea ecx, [ebp - 0x3d4]
call fcn.00413d23
lea ecx, [ebp - 0xa38]
call fcn.00413d23
push edi
lea ecx, [ebp - 0x1bb0]
call fcn.00413c51
mov dword [ebp - 0x40], 0x714a0256
xor eax, eax
mov dword [ebp - 0x2c], 0x276b87d0
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x42f586
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xbe0], 0x951ad386
xor eax, eax
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], eax
jl 0x42f568
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 8], eax
jmp 0x42f59c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1cdc], 0
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x42f58b
dec dword [ebp - 0x1cd8]
lea ecx, [ebp - 0xa48]
mov eax, dword [ebp - 0x40]
or esi, 0xffffffff
mov dword [ebp - 0xbe0], eax
mov dword [ebp - 0x2c], 0x7a876e6b
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x2c], 0x961c0f80
mov dword [ebp - 0x24], 0x7b5ca986
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x48], eax
push 7
mov dword [ebp - 0x38], 0x3cf95751
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0x7ed6f186
mov dword [ebp - 0x40], 0x6e2bfbd3
mov dword [ebp - 0x4c], esi
push ebx
call fcn.00413c51
push edi
lea ecx, [ebp - 0x9f4]
call fcn.00413c51
push ebx
lea ecx, [ebp - 0xfbc]
call fcn.00413c51
mov dword [ebp - 0x20], 0x2143
xor eax, eax
mov dword [ebp - 0x38], 0x63b8
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jge 0x42f650
push dword [ebp - 0x28]
lea ecx, [ebp - 0xa48]
call fcn.00413d3f
mov dword [eax], esi
xor eax, eax
inc dword [ebp - 0x28]
inc eax
cmp dword [ebp - 0x28], eax
jl 0x42f633
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], edi
jge 0x42f672
push dword [ebp - 0x28]
lea ecx, [ebp - 0x9f4]
call fcn.00413d3f
mov dword [eax], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x42f658
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], edi
jge 0x42f692
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x2238], 0x424b969b
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x42f67a
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], edi
jge 0x42f6ae
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x1958], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x42f69a
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x42f6ca
push dword [ebp - 0x28]
lea ecx, [ebp - 0xfbc]
call fcn.00413d3f
mov dword [eax], 0xa5d8d341
inc dword [ebp - 0x28]
xor eax, eax
inc eax
cmp dword [ebp - 0x28], eax
jl 0x42f6b3
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x20]
test eax, eax
jne 0x42f7df
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0xa48]
xor eax, eax
push eax
call fcn.00413d3f
cmp dword [eax], 0
jne 0x42f76a
mov eax, dword [ebp - 0x1950]
lea ecx, [ebp - 0xfbc]
mov dword [ebp - 0x38], eax
xor eax, eax
push eax
call fcn.00413d3f
mov ecx, dword [ebp - 0x38]
xor ebx, ebx
mov esi, eax
inc ebx
xor eax, eax
cmp ecx, ebx
mov ecx, dword [ebp - 0x20]
setg al
xor edx, edx
cmp eax, ecx
push ebx
setle dl
xor ecx, ecx
cmp edx, 0x109d
setne cl
xor eax, eax
cmp ecx, dword [esi]
lea ecx, [ebp - 0x9f4]
setl al
mov dword [ebp - 0x40], eax
call fcn.00413d3f
mov ecx, dword [ebp - 0x40]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0xa48]
setge bl
xor eax, eax
push eax
call fcn.00413d3f
cmp ebx, dword [eax]
jl 0x42f76a
xor eax, eax
mov esi, eax
inc eax
jmp 0x42f76f
xor eax, eax
inc eax
mov esi, eax
push eax
lea ecx, [ebp - 0x9f4]
call fcn.00413d3f
mov ecx, dword [ebp - 0x1958]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0x9f4]
setge dl
xor esi, esi
sub edx, dword [eax]
inc esi
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2230]
push esi
call fcn.00413d3f
xor ebx, ebx
lea ecx, [ebp - 0x9f4]
push esi
mov eax, dword [eax]
sub eax, 0x5bd6
test eax, eax
setg bl
call fcn.00413d3f
mov ecx, dword [ebp - 0x24]
mov esi, eax
xor eax, eax
cmp ebx, ecx
mov ecx, dword [ebp - 0x4c]
setl al
xor edx, edx
cmp eax, ecx
setl dl
cmp edx, dword [esi]
jle 0x42f7df
xor eax, eax
mov edi, eax
jmp 0x42f7e4
xor eax, eax
lea edi, [eax + 1]
push eax
lea ecx, [ebp - 0xfbc]
call fcn.00413d3f
mov ecx, dword [ebp - 0x4c]
xor edx, edx
cmp edi, ecx
mov esi, eax
mov ecx, dword [ebp - 0x3c]
setne dl
xor ebx, ebx
cmp edx, 0x4162
setl bl
xor eax, eax
cmp ecx, ebx
setl al
mov dword [esi], eax
xor eax, eax
mov dword [ebp - 0x14], eax
or esi, 0xffffffff
cmp dword [ebp - 0x14], 0xf
je 0x42f844
mov dword [ebp - 0x40], esi
lea ecx, [ebp - 0xa48]
push eax
call fcn.00413d3f
mov ecx, dword [ebp - 0x48]
push 0
mov dword [eax], ecx
mov dword [ebp - 0x40], 0xf849ec59
inc dword [ebp - 0x14]
pop eax
jmp 0x42f81b
lea ecx, [ebp - 0xfbc]
call fcn.00413d23
lea ecx, [ebp - 0x9f4]
call fcn.00413d23
lea ecx, [ebp - 0xa48]
call fcn.00413d23
mov dword [ebp - 0x2c], 0x36444696
mov ecx, 0x1c0f8067
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x28], eax
inc ebx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0x28], 8
cmp dword [ebp - 0x28], 0xfffffff2
push 3
pop edi
jge 0x42f93c
mov dword [ebp - 0x2c], 0x871d976f
lea ecx, [ebp - 0x1ba4]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0x7b80be39
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x2c], 0xf1860ec0
mov dword [ebp - 0x2c], 0xb59008cf
push edi
call fcn.00413c51
xor eax, eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jge 0x42f906
push 7
pop ebx
push dword [ebp - 8]
lea ecx, [ebp - 0x1ba4]
call fcn.00413d3f
mov dword [eax], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x42f8e9
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 8], eax
jmp 0x42f918
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x23ac], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x42f90b
dec dword [ebp - 0x38]
lea ecx, [ebp - 0x1ba4]
call fcn.00413d23
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff2
push 0
pop eax
jl 0x42f8a5
mov dword [ebp - 0x28], 0xe
jmp 0x42f97b
mov dword [ebp - 0x14], 0x7ab6ce1a
cmp dword [ebp - 0x28], eax
jne 0x42f981
mov dword [ebp - 0x14], eax
jmp 0x42f972
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42f96f
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MapDialogRect]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffb
jl 0x42f956
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe9
jle 0x42f945
push 7
pop ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x1c], 0xa860b4ff
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x40], 0x43250e6d
mov dword [ebp - 0x24], 0xfffffff6
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa58]
mov dword [ebp - 0x2c], 0xd085c9e5
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x18], 0xb72b21a3
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x28], 0x9cad
mov dword [ebp - 0x3c], 0x64a3
push 2
call fcn.00413c51
push 7
mov dword [ebp - 0x4c], 0x62b02d37
pop eax
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jge 0x42fa11
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xdac], 0
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x42f9f9
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x42fa37
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x58c], 0
xor eax, eax
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], eax
jl 0x42fa19
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 8], eax
jmp 0x42fa53
push dword [ebp - 8]
lea ecx, [ebp - 0xa58]
call fcn.00413d3f
mov dword [eax], 0xfffffffb
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x42fa3c
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x34]
jne 0x42faa0
xor eax, eax
cmp dword [ebp - 0xda4], eax
jne 0x42fa92
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x58c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
sub eax, 0x7f077a43
jne 0x42fa86
cmp dword [ebp - 0x44], eax
je 0x42fa88
mov eax, ebx
mov dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x42fa94
mov eax, ebx
cmp eax, dword [ebp - 0x1c]
jl 0x42faf1
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x42faa2
mov eax, ebx
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov eax, dword [ebp - 0xdac]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
cmp eax, 0x4a839bb8
mov eax, dword [ebp - 0x14]
setl cl
xor edx, edx
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x40]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, dword [ebp - 0x24]
jg 0x42faf5
cmp dword [ebp - 0x10], eax
je 0x42faf5
lea ecx, [eax + 1]
jmp 0x42faf7
xor eax, eax
jmp 0x42faa2
mov ecx, eax
mov eax, dword [ebp - 0xda8]
imul eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xdac]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x14], eax
je 0x42fc6e
xor ebx, ebx
mov dword [ebp - 0x20], 0xedf2cfea
inc ebx
mov dword [ebp - 0x1c], 0x76063aeb
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x40], 0xf72762b6
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
sub eax, 0x4ba9e733
neg eax
sbb eax, eax
add eax, 0xfffffbc7
neg eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x3c]
jne 0x42fb8f
push ebx
lea ecx, [ebp - 0xa58]
call fcn.00413d3f
cmp dword [eax], 0
jne 0x42fb8f
xor eax, eax
mov edx, eax
jmp 0x42fb97
xor eax, eax
xor ebx, ebx
inc ebx
lea edx, [eax + 1]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
sete cl
xor edx, edx
cmp ecx, 0x2a6
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x34]
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
sub ecx, 4
mov dword [ebp - 0x4c], ecx
mov ecx, 0x66354922
mov eax, dword [ebp - 0x4c]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, 0x589ab98c
setl al
xor ecx, ecx
cmp eax, 0x476f2a9e
setge cl
xor eax, eax
cmp ecx, ebx
lea ecx, [ebp - 0xa58]
setge al
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x10]
xor eax, eax
push eax
call fcn.00413d3f
cmp dword [eax], esi
jl 0x42fc1b
mov eax, dword [ebp - 0x18]
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x42fc29
xor eax, eax
lea ecx, [ebp - 0xa58]
inc eax
push eax
call fcn.00413d3f
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
lea ecx, [ebp - 0xa58]
call fcn.00413d23
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 8], 0xfffffffd
mov dword [ebp - 0x38], 6
mov dword [ebp - 0x38], 0x75761ac7
mov dword [ebp - 0x40], 0x6e523240
mov dword [ebp - 0x14], eax
jmp 0x42fcc4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x380], 0xfffffffc
inc dword [ebp - 0x14]
xor eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jl 0x42fcb3
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 8]
neg esi
mov eax, dword [ebp - 8]
sbb esi, esi
xor edx, edx
neg esi
cmp ecx, eax
setl dl
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x380]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp esi, eax
mov eax, dword [ebp - 8]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 8]
setl cl
imul edx, ecx, 0xffffada9
sub edx, 0x81de
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor ebx, ebx
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x380]
mov eax, dword [ebp - 8]
cmp ecx, eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
setle bl
xor edx, edx
cmp ecx, eax
mov eax, 0xd77dfcc8
setle dl
sub edx, ebx
add edx, dword [ebp - 8]
imul edx, dword [ebp - 8]
cmp eax, edx
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x42fd86