Function at 0x1003f08b
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10069d70
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x140
push ebx
xor ebx, ebx
mov dword [esp + 0xd4], edx
push esi
push edi
mov dword [esp + 0x30], ebx
mov edi, 0x1065a640
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x30], ebx
jmp 0x1003f320
mov dword [esp + 0x28], 0x1746
cmp dword [esp + 0x28], 0x1340
jge 0x1003f27a
mov edx, 0x10659ccc
mov ecx, edi
call fcn.100301f7
mov edi, dword [0x10659cdc]
mov ecx, ebx
mov dword [esp + 0x6c], ecx
test edi, edi
je 0x1003f268
mov edx, dword [0x10659ce0]
mov esi, dword [0x10659ccc]
lea ebx, [ecx + 1]
cmp ebx, edi
jae 0x1003f190
cmp edx, 0x10
mov eax, 0x10659ccc
cmovae eax, esi
cmp byte [eax + ecx], 0x62
jne 0x1003f168
cmp edx, 0x10
mov eax, 0x10659ccc
cmovae eax, esi
cmp byte [eax + ecx + 1], 0x61
jne 0x1003f168
mov edi, 0x10659ccc
cmp edx, 0x10
mov ebx, edi
cmovae ebx, esi
add ebx, ecx
cmp edx, 0x10
cmovae edi, esi
jmp 0x1003f162
dec ebx
cmp edi, ebx
je 0x1003f1d1
mov cl, byte [edi]
mov al, byte [ebx]
mov byte [edi], al
inc edi
mov byte [ebx], cl
cmp edi, ebx
jne 0x1003f154
jmp 0x1003f1d1
cmp ebx, edi
jae 0x1003f190
mov ebx, 0x10659ccc
cmp edx, 0x10
mov eax, ebx
cmovae eax, esi
cmp byte [eax + ecx], 0x61
jne 0x1003f195
cmp edx, 0x10
mov eax, ebx
cmovae eax, esi
cmp byte [eax + ecx + 1], 0x62
je 0x1003f1aa
jmp 0x1003f195
mov ebx, 0x10659ccc
lea eax, [edi - 1]
cmp ecx, eax
jne 0x1003f1f6
cmp edx, 0x10
mov eax, ebx
cmovae eax, esi
cmp byte [eax + ecx], 0x61
jne 0x1003f1f6
cmp edx, 0x10
mov edi, 0x10659ccc
cmovae ebx, esi
add ebx, ecx
cmp edx, 0x10
cmovae edi, esi
jmp 0x1003f1cd
dec ebx
cmp edi, ebx
je 0x1003f1d1
mov cl, byte [edi]
mov al, byte [ebx]
mov byte [edi], al
inc edi
mov byte [ebx], cl
cmp edi, ebx
jne 0x1003f1bf
lea eax, [esp + 0x6c]
mov ecx, 0x10f744f0
push eax
call fcn.1003d65d
mov esi, dword [0x10659ccc]
mov edi, dword [0x10659cdc]
mov edx, dword [0x10659ce0]
mov ecx, dword [esp + 0x6c]
inc ecx
mov dword [esp + 0x6c], ecx
cmp ecx, edi
jb 0x1003f113
xor ebx, ebx
test edi, edi
je 0x1003f268
mov ecx, dword [0x10f744f4]
mov esi, ecx
mov edi, dword [0x10f744f0]
sub esi, edi
mov byte [esp + 0x77], 0
sar esi, 2
jmp 0x1003f241
mov eax, esi
cdq
sub eax, edx
mov edx, eax
sar edx, 1
lea eax, [edi + edx*4]
cmp dword [eax], ebx
jge 0x1003f23f
lea edi, [eax + 4]
or eax, 0xffffffff
sub eax, edx
add esi, eax
jmp 0x1003f241
mov esi, edx
test esi, esi
jg 0x1003f223
cmp edi, ecx
je 0x1003f254
cmp ebx, dword [edi]
jl 0x1003f254
push 0x1000b868
jmp 0x1003f259
push 0x1000b86c
call fcn.1004e306
inc ebx
pop ecx
cmp ebx, dword [0x10659cdc]
jb 0x1003f209
push 0x1000b0e5
call fcn.1004e4c6
pop ecx
xor ebx, ebx
mov edi, 0x1065a640
mov dword [esp + 0x104], 0x13a4
mov dword [esp + 0x108], 0x13a4
mov dword [esp + 0x10c], 0x13a4
mov dword [esp + 0x110], 0x13a4
mov dword [esp + 0x18], 0x3111738a
mov dword [esp + 0x18], 3
cmp dword [esp + 0x18], ebx
jl 0x1003f2fb
mov dword [esp + 0x20], 0xd0d3f7bf
mov eax, dword [esp + 0x18]
cmp dword [esp + eax*4 + 0x104], ebx
jne 0x1003f2fb
mov dword [esp + 0x20], ebx
jmp 0x1003f2ee
mov eax, dword [esp + 0x18]
cmp dword [esp + eax*4 + 0x104], ebx
jne 0x1003f2f5
cmp dword [esp + 0x30], ebx
jne 0x1003f2f5
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jle 0x1003f2d7
dec dword [esp + 0x18]
jns 0x1003f2bc
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1003f31c
push 0x1f30
push ebx
push 0x1b9b
push 0xe0f
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
dec dword [esp + 0x30]
cmp dword [esp + 0x30], 0xfffffff1
jne 0x1003f0d1
xor esi, esi
mov dword [esp + 0x20], 0x606de713
mov dword [esp + 0x20], ebx
inc esi
jmp 0x1003f34f
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x8c], 0x35568345
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jl 0x1003f33c
mov dword [esp + 0x20], ebx
jmp 0x10040027
mov dword [esp + 0x28], 0x252d
cmp dword [esp + 0x28], 0xb7a
jge 0x1003f628
lea eax, [esp + 0x138]
push eax
push ecx
lea eax, [esp + 0x148]
mov ecx, edi
push eax
call fcn.1002df93
pop ecx
mov ecx, eax
call fcn.1002df93
jmp 0x1003f5e5
comisd xmm0, xmmword [esp + 0xa8]
jae 0x1003f628
comisd xmm0, xmmword [esp + 0xb0]
jae 0x1003f628
movsd xmm0, qword [0x1000b910]
push ecx
push ecx
movsd qword [esp], xmm0
call fcn.10051ad4
movsd xmm0, qword [0x1000b938]
fstp qword [esp + 0x30]
movsd qword [esp], xmm0
call fcn.10051cd0
movsd xmm0, qword [0x1000b938]
fstp qword [esp + 0x60]
movsd qword [esp], xmm0
call fcn.10051cd0
movsd xmm0, qword [0x1000b938]
fstp qword [esp + 0x50]
movsd qword [esp], xmm0
call fcn.10051cd0
movsd xmm0, qword [0x1000b938]
fstp qword [esp + 0x48]
movsd qword [esp], xmm0
call fcn.10051cd0
movsd xmm0, qword [0x1000b938]
fstp qword [esp + 0x80]
movsd qword [esp], xmm0
call fcn.10051cd0
movsd xmm0, qword [0x1000b938]
fstp qword [esp + 0x20]
movsd qword [esp], xmm0
call fcn.10051cd0
movsd xmm0, qword [esp + 0x30]
mulsd xmm0, qword [esp + 0x148]
fstp qword [esp + 0x68]
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [esp + 0x50]
mulsd xmm0, qword [esp + 0xa8]
divsd xmm0, qword [0x1000b918]
movsd qword [esp], xmm0
call fcn.10051ba0
movsd xmm0, qword [esp + 0x60]
mulsd xmm0, qword [esp + 0xa8]
fstp qword [esp + 0x30]
divsd xmm0, qword [0x1000b918]
movsd qword [esp], xmm0
call fcn.10051ba0
fmul qword [esp + 0x30]
movsd xmm0, qword [esp + 0x80]
mulsd xmm0, qword [esp + 0xb8]
fld1
fdivrp st(1)
divsd xmm0, qword [0x1000b918]
fstp qword [esp + 0x60]
movsd qword [esp], xmm0
call fcn.10051ba0
movsd xmm0, qword [esp + 0x48]
mulsd xmm0, qword [esp + 0xb8]
fstp qword [esp + 0x30]
divsd xmm0, qword [0x1000b918]
movsd qword [esp], xmm0
call fcn.10051ba0
movsd xmm0, qword [esp + 0x30]
movsd xmm1, qword [0x1000b908]
fstp qword [esp + 0x50]
mulsd xmm0, qword [esp + 0x50]
divsd xmm1, xmm0
movsd xmm0, qword [esp + 0x68]
mulsd xmm0, qword [esp + 0xb0]
addsd xmm1, qword [esp + 0x60]
divsd xmm0, qword [0x1000b918]
movsd qword [esp + 0x60], xmm1
movsd qword [esp], xmm0
call fcn.10051ba0
movsd xmm0, qword [esp + 0x20]
mulsd xmm0, qword [esp + 0xb0]
fstp qword [esp + 0x30]
divsd xmm0, qword [0x1000b918]
movsd qword [esp], xmm0
call fcn.10051ba0
movsd xmm1, qword [esp + 0x30]
movsd xmm0, qword [0x1000b910]
fstp qword [esp + 0x50]
mulsd xmm1, qword [esp + 0x50]
divsd xmm0, xmm1
movsd xmm1, qword [esp + 0x60]
subsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.10051ad4
movsd xmm0, qword [esp + 0x38]
fstp qword [esp + 0x30]
divsd xmm0, qword [esp + 0x30]
addsd xmm0, qword [esp + 0x140]
movsd qword [esp], xmm0
call fcn.10051e16
fstp qword [esp + 0x30]
cvttsd2si eax, qword [esp + 0x30]
pop ecx
pop ecx
mov ecx, 0x1065a598
push eax
call fcn.1000ef7e
push eax
call fcn.1001268a
pop ecx
lea eax, [esp + 0xb0]
push eax
push ecx
lea eax, [esp + 0xb0]
push eax
push ecx
lea eax, [esp + 0xb0]
mov ecx, edi
push eax
call fcn.1002df93
pop ecx
mov ecx, eax
call fcn.1002df93
pop ecx
mov ecx, eax
call fcn.1002df93
xorps xmm0, xmm0
comisd xmm0, xmmword [esp + 0xa0]
jb 0x1003f399
mov dword [esp + 0x10], ebx
jmp 0x1003f63d
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x94], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1003f62e
mov dword [esp + 0x10], ebx
jmp 0x1003f658
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x80], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1003f649
mov dword [esp + 0x80], ebx
cmp dword [esp + 0x80], ebx
jl 0x1003f6d2
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + eax*4 + 0x94]
mov eax, dword [esp + 0x80]
mov dword [esp + eax*4 + 0x94], ecx
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1003f6c9
push 0x2597
push 0x60f
push 0x1e73
push 0x19ec
push 0x4df
push 0xa72
push 0x935
push 0x200f
push 0x4f9
call dword [sym.imp.GDI32.dll_BitBlt]
dec dword [esp + 0x80]
jns 0x1003f66f
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1003f6f3
push esi
push 0x195b
push 0x1ae0
push 0xbfd
call dword [sym.imp.USER32.dll_SetDlgItemInt]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x3c], ebx
jmp 0x10040014
push esi
lea ecx, [esp + 0xc4]
call fcn.1000f1b6
mov dword [esp + 0x28], 0xde0369bd
mov dword [esp + 0x10], ebx
jmp 0x1003f72b
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x70], 0xc85f
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1003f71b
mov dword [esp + 0x10], ebx
jmp 0x1003f74d
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
mov dword [eax + ecx*4], 0xe76f5020
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1003f737
mov eax, dword [esp + 0xc0]
mov dword [eax], ebx
mov dword [esp + 0x40], 0x52c58fb7
mov dword [esp + 0x28], 0x16c1
cmp dword [esp + 0x28], 0x524
jge 0x1003f7e8
lea eax, [esp + 0x90]
mov dword [esp + 0x98], ebx
push eax
lea eax, [esp + 0x9c]
mov dword [esp + 0x94], ebx
push eax
push 0x1000b5c8
call fcn.1004e0eb
add esp, 0xc
mov edi, ebx
and dword [esp + 0x18], 0
mov ecx, esi
mov edx, dword [esp + 0x90]
call fcn.1003f07b
mov edx, dword [esp + 0x98]
mov esi, eax
call fcn.1003f07b
cmp eax, esi
jge 0x1003f817
inc edi
mov eax, dword [esp + 0x18]
inc ecx
cmp ecx, 6
jle 0x1003f7aa
push eax
push ebx
push edi
push 0x1000b870
call fcn.1004e306
xor esi, esi
add esp, 0x10
xor ebx, ebx
inc esi
mov dword [esp + 0x40], ebx
cmp dword [esp + 0x40], ebx
jl 0x1003f847
mov dword [esp + 0x18], 0x962ee6d0
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1003f811
push esi
push 0x1d9e
call dword [sym.imp.USER32.dll_EnableWindow]
mov dword [esp + 0x18], ebx
jmp 0x1003f83b
jne 0x1003f81c
inc ebx
jmp 0x1003f7c9
cmp eax, esi
jle 0x1003f7c9
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
jmp 0x1003f7cd
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x70], 0xa835
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x1003f82b
dec dword [esp + 0x40]
jns 0x1003f7f2
mov eax, dword [esp + 0xc0]
mov eax, dword [eax]
mov ecx, dword [esp + eax*4 + 0x70]
mov edx, dword [esp + 0xc0]
mov eax, dword [edx]
dec dword [edx]
mov dword [esp + eax*4 + 0x70], ecx
jns 0x1003f75c
lea ecx, [esp + 0xc0]
call fcn.1000f212
mov dword [esp + 0x78], 0xe8588d0d
mov eax, dword [esp + 0x3c]
cmp dword [esp + eax*4 + 0x8c], ebx
jne 0x1004001e
mov dword [esp + 0x78], ebx
cmp dword [esp + 0x78], ebx
jl 0x10040010
mov dword [esp + 0x40], 0xffffffff
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1003f8b7
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov dword [esp + 0x40], esi
mov dword [esp + 0x28], 0x1faf
cmp dword [esp + 0x28], 0x1301
jge 0x1003f96b
lea eax, [esp + 0x9c]
push eax
push ecx
lea eax, [esp + 0x90]
mov ecx, 0x1065a640
push eax
call fcn.1000ed83
pop ecx
mov ecx, eax
call fcn.1000ed83
mov esi, dword [esp + 0x88]
jmp 0x1003f946
dec esi
cmp dword [esp + 0x9c], 0
jle 0x1003f946
mov edi, dword [esp + 0x9c]
lea edx, [esp + 0x57]
mov ecx, 0x1065a640
call fcn.100444a5
mov al, byte [esp + 0x57]
cmp al, 0x43
je 0x1003f92d
cmp al, 0x4d
je 0x1003f92d
cmp al, 0x59
jne 0x1003f943
mov edx, 0x1000b87c
mov ecx, 0x1065a598
call fcn.100126bc
push eax
call fcn.1001268a
pop ecx
dec edi
jne 0x1003f90f
test esi, esi
jne 0x1003f8fd
dec esi
mov edx, 0x1000b884
mov ecx, 0x1065a598
mov dword [esp + 0x88], esi
call fcn.100126bc
push eax
call fcn.1001268a
xor esi, esi
pop ecx
inc esi
mov dword [esp + 0x10], ebx
jmp 0x1003f984
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xd8], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1003f971
push 2
mov dword [esp + 0x14], ebx
pop edi
cmp dword [esp + 0x10], esi
jge 0x1003f9a5
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x68], edi
inc dword [esp + 0x10]
jmp 0x1003f991
mov dword [esp + 0x68], ebx
jmp 0x1003f9be
mov eax, dword [esp + 0x68]
mov dword [esp + eax*4 + 0xd8], 0xffffffff
inc dword [esp + 0x68]
cmp dword [esp + 0x68], esi
jl 0x1003f9ab
mov dword [esp + 0x40], ebx
cmp dword [esp + 0x40], ebx
jl 0x1003f9f1
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1003f9eb
push ebx
push 0x46e
push 0xdcc
push ebx
call dword [sym.imp.GDI32.dll_GetPaletteEntries]
dec dword [esp + 0x40]
jns 0x1003f9ce
mov dword [esp + 0x40], ebx
jmp 0x1003fffc
mov dword [esp + 0x18], 0xfffffffb
mov dword [esp + 0x28], 0xfffffff9
mov dword [esp + 0x18], 0xffffffe6
jmp 0x1003fa3e
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1003fa3a
push 0x1543
push ebx
push 0x780
push 0x12d7
push 0x667
call dword [sym.imp.GDI32.dll_TextOutA]
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffe6
jle 0x1003fa14
mov dword [esp + 0xe0], 0x747bb7ab
mov eax, dword [esp + 0x3c]
cmp dword [esp + eax*4 + 0x8c], ebx
je 0x1003fa6c
cmp dword [esp + 0x20], ebx
jne 0x10040006
jmp 0x1003ffe8
mov dword [esp + 0x18], ebx
lea ecx, [esp + 0xcc]
mov dword [esp + 0x58], 0x1c6076fd
push edi
call fcn.1000f1b6
mov dword [esp + 0x154], ebx
lea ecx, [esp + 0x114]
mov dword [esp + 0x48], 0x5c2f
mov dword [esp + 0x30], ebx
mov dword [esp + 0x60], 0x25bb5a27
push esi
call fcn.1000f1b6
mov dword [esp + 0x28], 0x6fe0855b
mov dword [esp + 0x10], 0xede5a1ae
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], 0xfffffffc
mov dword [esp + 0x10], ebx
jmp 0x1003fade
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xfc], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1003facf
mov dword [esp + 0x10], ebx
jmp 0x1003fafd
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xcc]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1003faea
mov dword [esp + 0x10], ebx
jmp 0x1003fb1f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x114]
mov dword [eax + ecx*4], 0x5e34
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1003fb09
cmp dword [esp + 0x18], ebx
je 0x1003fbe7
dec dword [esp + 0x60]
xor edx, edx
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x18]
cmp eax, ecx
setle dl
mov dword [esp + 0x100], edx
test edx, edx
jne 0x1003fba7
mov eax, dword [esp + 0x30]
xor ecx, ecx
test eax, eax
mov eax, dword [esp + 0xcc]
setns cl
cmp ecx, 0xfce88636
mov eax, dword [eax + 4]
sbb ecx, ecx
add eax, 0xc19d36f6
inc ecx
add ecx, eax
mov eax, dword [esp + 0xfc]
add eax, ecx
mov ecx, dword [esp + 0x60]
imul ecx, eax
mov eax, dword [esp + 0x58]
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, eax
mov eax, dword [esp + 0x114]
setle dl
sub edx, 0x3978
neg edx
sbb edx, edx
inc edx
mov dword [eax], edx
je 0x1003fbaf
mov ecx, esi
cmp dword [esp + 0x48], ebx
jne 0x1003fbb1
mov ecx, ebx
mov eax, dword [esp + 0xcc]
xor edx, edx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x48]
imul ecx, ecx, 0x132c
cmp ecx, eax
mov eax, dword [esp + 0x28]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
xor edx, edx
sub eax, 0x4f952011
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 8
pop ecx
sub ecx, eax
mov eax, dword [esp + 0x30]
imul ecx, ecx, 0xb3df4c3
cmp ecx, eax
setg dl
sub edx, dword [esp + 0x48]
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x10], edx
cmp dword [eax], ebx
je 0x1003fc9f
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x10], 0xffffffed
jmp 0x1003fc96
mov dword [esp + 0x48], 0xfffd
mov dword [esp + 0x58], 0x633c574c
mov dword [esp + 0x28], 0x35584d57
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jne 0x1003fc6a
mov eax, dword [esp + 0x48]
imul eax, dword [esp + 0x48]
mov dword [esp + 0x58], eax
mov eax, ebx
cmp dword [esp + 0x58], ebx
je 0x1003fc6c
mov eax, esi
mov ecx, dword [esp + 0x18]
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x18]
setne dl
xor ecx, ecx
add edx, 0xffff
cmp eax, edx
setle cl
mov dword [esp + 0x28], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0xd
jl 0x1003fc33
jmp 0x1003fd02
mov dword [esp + 0x10], ebx
jmp 0x1003fcdb
mov dword [esp + 0x18], ebx
jmp 0x1003fcd1
mov dword [esp + 0x30], ebx
jmp 0x1003fcc7
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1003fcc3
push ebx
call dword [sym.imp.USER32.dll_ShowCursor]
inc dword [esp + 0x30]
cmp dword [esp + 0x30], esi
jle 0x1003fcb1
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jle 0x1003fcab
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x1003fca5
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1003fd02
push ebx
push 0xb05
push 0x1eaa
push 0x1108
call dword [sym.imp.USER32.dll_SetScrollPos]
lea ecx, [esp + 0x114]
call fcn.1000f212
or dword [esp + 0x154], 0xffffffff
lea ecx, [esp + 0xcc]
call fcn.1000f212
mov byte [esp + 0x27], bl
lea ecx, [esp + 0x12c]
mov dword [esp + 0x30], 0xdf37d45d
mov dword [esp + 0x10], 0xb8d96378
push esi
call fcn.1000f1b6
mov dword [esp + 0x154], esi
mov dword [esp + 0x10], ebx
jmp 0x1003fd63
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xf0], 8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1003fd50
mov dword [esp + 0x10], ebx
jmp 0x1003fd86
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x12c]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1003fd70
cmp dword [esp + 0x30], ebx
je 0x1003fdce
mov eax, dword [esp + 0x30]
mov ecx, 0xf4c5
mov eax, dword [esp + 0x30]
sub ecx, eax
mov eax, 0xfffb
mov dword [esp + 0xf8], ecx
cmp eax, ecx
mov eax, dword [esp + 0x30]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setg dl
imul edx, dword [esp + 0x30]
imul eax, edx, 0x2db8
test eax, eax
mov eax, esi
jne 0x1003fdd0
mov eax, ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
sub eax, 8
cmp eax, dword [esp + 0x30]
jne 0x1003fe74
push esi
lea ecx, [esp + 0xe8]
call fcn.1000f1b6
mov dword [esp + 0x18], ebx
jmp 0x1003fe0e
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xe4]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x1003fdf8
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0xe4]
cmp dword [eax], ebx
je 0x1003fe2b
mov edx, esi
cmp dword [esp + 0x10], ebx
jne 0x1003fe2d
mov edx, ebx
mov eax, dword [esp + 0xe4]
push 4
mov ecx, dword [eax]
xor eax, eax
cmp edx, 4
setge al
xor edx, edx
imul eax, dword [esp + 0xfc]
cmp eax, ecx
pop eax
setge dl
imul edx, ecx
imul edx, ecx
sub edx, ecx
lea ecx, [esp + 0xe4]
neg edx
sbb edx, edx
inc edx
sub eax, edx
mov dword [esp + 0x10], eax
call fcn.1000f212
jmp 0x1003ffb2
mov dword [esp + 0x28], 0x74f
mov dword [esp + 0x48], 0x5015
mov dword [esp + 0x58], 0xf09d89c1
mov dword [esp + 0x60], 0x81b93497
mov dword [esp + 0x10], 0x1c
jmp 0x1003ffa8
mov dword [esp + 0x60], ebx
lea ecx, [esp + 0x120]
push 4
call fcn.1000f1b6
mov dword [esp + 0x18], ebx
mov dword [esp + 0x18], ebx
jmp 0x1003fed3
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x120]
mov dword [eax + ecx*4], 0xce43c7d7
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x1003febd
cmp dword [esp + 0x30], ebx
jne 0x1003ff34
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov eax, dword [esp + 0x120]
mov dword [eax], ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x48]
sub ecx, eax
mov eax, dword [esp + 0xf8]
cmp ecx, eax
mov eax, dword [esp + 0x58]
setne bl
xor edx, edx
cmp ebx, eax
mov eax, dword [esp + 0x58]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
xor ebx, ebx
mov dword [esp + 0xf8], ecx
mov eax, dword [esp + 0x60]
mov eax, dword [esp + 0x60]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
imul ecx, dword [esp + 0x28], 0x42d9
xor edx, edx
mov eax, dword [esp + 0x12c]
cmp ecx, dword [eax]
setge dl
xor ecx, ecx
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x48]
cmp eax, esi
setg cl
sub ecx, dword [esp + 0x60]
neg ecx
sbb ecx, ecx
inc ecx
cmp dword [esp + 0x28], ecx
jge 0x1003ff74
mov eax, esi
cmp dword [esp + 0x48], ebx
jne 0x1003ff76
mov eax, ebx
neg eax
mov dword [esp + 0x60], eax
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1003ff98
push 0x17df
push 0x21f5
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
lea ecx, [esp + 0x120]
call fcn.1000f212
dec dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jg 0x1003fea1
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1003ffc8
push 0xe2d
call dword [sym.imp.USER32.dll_DrawMenuBar]
or dword [esp + 0x154], 0xffffffff
lea ecx, [esp + 0x12c]
call fcn.1000f212
cmp byte [esp + 0x27], 0
je 0x1003ffe8
call fcn.1003ee85
lea edx, [esp + 0x3c]
lea ecx, [esp + 0xe0]
call fcn.1003ef64
inc dword [esp + 0x40]
cmp dword [esp + 0x40], ebx
jle 0x1003f9fa
dec dword [esp + 0x78]
jns 0x1003f89c
inc dword [esp + 0x3c]
cmp dword [esp + 0x3c], ebx
jle 0x1003f700
inc dword [esp + 0x20]
mov edi, 0x1065a640
cmp dword [esp + 0x20], ebx
jle 0x1003f35e
mov byte [esp + 0x27], bl
cmp byte [esp + 0x27], 0
je 0x10040041
call fcn.1003f017
mov eax, dword [esp + 0xdc]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [esp + 0xbc]
mov edi, edx
mov esi, eax
call fcn.1003ee13
mov ecx, dword [esp + 0x14c]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret