Function at 0x4313e0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x414
mov eax, dword [ebp + 0x10]
xor ecx, ecx
test eax, eax
setle cl
push ebx
mov ebx, dword [ebp + 0xc]
dec ecx
push esi
and ecx, eax
push edi
cmp ebx, 0x33
mov edi, ecx
jg 0x431c05
je 0x431bd6
lea eax, [ebx - 3]
cmp eax, 0x2f
ja case.0x431c1c.58
xor edx, edx
mov dl, byte [eax + 0x432c84]
jmp dword [edx*4 + 0x432c40]
push 1
call fcn.004268b0
add esp, 4
sub ebx, 3
je 0x431451
mov eax, dword [0x66e294]
dec ebx
jne 0x43146f
test eax, eax
jle 0x431449
dec eax
jmp 0x43146a
mov eax, dword [0x4737a8]
dec eax
jmp 0x43146a
mov ecx, dword [0x66e294]
mov edi, dword [0x4737a8]
xor edx, edx
lea eax, [ecx + 1]
cmp eax, edi
setge dl
dec edx
and eax, edx
mov dword [0x66e294], eax
shl eax, 6
add eax, 0x4727a8
push str..ini
push eax
push 0x20
push 0x46c8a4
push str._s_.s_s
push 0x46ac34
call dword [sym.imp.MSVCRT.dll_swprintf]
mov ax, word [0x46f8f0]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 7
push 0xc
mov word [esp + 0x54], ax
call fcn.00426440
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 7
push 0xd
call fcn.00426440
add esp, 0x50
push 0
push 1
call fcn.00426b20
add esp, 8
test eax, eax
je case.0x431c1c.58
push 0x46f8f0
push 0x472218
push 1
push 0x66e298
call fcn.00423d40
add esp, 0x10
cmp word [esp + 0x20], 0
jne 0x431520
mov eax, dword [0x694cec]
test eax, eax
jg 0x431520
push 0x66e298
push 0x46f8f0
push 0
push 0
push 0x472218
push 1
jmp 0x431655
mov ecx, dword [0x476270]
xor esi, esi
xor edi, edi
test ecx, ecx
jne 0x43153d
push 0x46f8f0
call fcn.00423910
add esp, 4
jmp 0x431547
cmp ecx, 3
je 0x4315b9
call fcn.004236f0
mov esi, eax
test esi, esi
je 0x4315b3
push esi
call fcn.00423410
mov edi, eax
mov eax, dword [esi + 0x61c]
add esp, 4
cmp eax, 2
jne 0x43157d
mov ecx, dword [esi + 0x688]
mov edx, dword [esi + 0x68c]
mov dword [0x66e930], ecx
mov dword [0x66e934], edx
jmp 0x431594
mov eax, dword [esi + 0x698]
mov ecx, dword [esi + 0x69c]
mov dword [0x66e930], eax
mov dword [0x66e934], ecx
mov edx, dword [esi + 0x6a0]
mov eax, dword [esi + 0x6a4]
mov ecx, dword [0x476270]
mov dword [0x66e938], edx
mov dword [0x66e93c], eax
jmp 0x4315fd
mov ecx, dword [0x476270]
fld qword [0x4762c8]
fcomp qword [0x44e440]
mov eax, dword [0x694c84]
mov edx, dword [0x694c80]
mov dword [0x66e934], eax
mov dword [0x66e930], edx
fnstsw ax
test ah, 0x40
je 0x4315e7
cmp ecx, 3
jne 0x4315fd
mov edx, dword [0x694c80]
mov eax, dword [0x694c84]
mov dword [0x66e938], edx
mov dword [0x66e93c], eax
fld qword [0x4762c8]
fcomp qword [0x44e440]
mov eax, dword [0x694c84]
mov edx, dword [0x694c80]
mov dword [0x66e924], eax
mov dword [0x66e920], edx
fnstsw ax
test ah, 0x40
je 0x431640
cmp ecx, 3
je 0x431640
push 0x66e298
push 0x46f8f0
push esi
push edi
push 0x472218
push 4
jmp 0x431655
push 0x66e298
push 0x46f8f0
push 0
push 0
push 0x472218
push 3
call section..text
mov eax, dword [0x66eb20]
add esp, 0x18
cmp eax, 1
jne 0x431676
push 0x66e298
push 2
call fcn.004308d0
add esp, 8
push 0x980
push 0x66e298
push 9
call fcn.00422f30
mov ecx, dword [0x694ca8]
add esp, 0xc
push 0
push 0xfa
push 0x1e
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.0x431c1c.58
mov eax, dword [ebx*4 + 0x66e26c]
mov ecx, dword [ebx*4 + 0x472274]
add ebx, 0xfffffffb
inc eax
xor edx, edx
cmp eax, ecx
mov ecx, dword [0x47279c]
setge dl
dec edx
and eax, edx
test ecx, ecx
mov dword [ebx*4 + 0x66e280], eax
je 0x43170c
jmp 0x4316fb
mov eax, dword [ebx*4 + 0x66e258]
add ebx, 0xfffffff6
test eax, eax
jg 0x4316e9
mov eax, dword [ebx*4 + 0x472288]
mov ecx, dword [0x47279c]
dec eax
test ecx, ecx
mov dword [ebx*4 + 0x66e280], eax
je 0x43170c
mov edx, dword [0x4727a0]
lea ecx, [ebx + 1]
cmp edx, ecx
je case.0x431c1c.58
mov edx, ebx
push 8
shl edx, 4
add edx, eax
shl edx, 4
shl ebx, 7
add edx, 0x47229c
add ebx, 0x66e44c
push edx
push ebx
call fcn.00438940
add esp, 0xc
jmp case.0x431c1c.58
mov dword [0x66e2b8], 1
jmp case.0x431c1c.58
fld qword [0x46fc40]
fcomp qword [0x44e440]
fnstsw ax
test ah, 0x41
jne case.0x431c1c.58
push 0
call fcn.004303c0
add esp, 4
jmp case.0x431c1c.58
fld qword [0x46fc40]
fcomp qword [0x44e440]
fnstsw ax
test ah, 0x41
jne 0x431788
mov dword [0x66b03c], 1
push 0
push 0
call fcn.00426b20
add esp, 8
jmp 0x43185c
push ebx
call fcn.0042db10
add esp, 4
jmp case.0x431c1c.58
push edi
call fcn.00423680
mov esi, eax
add esp, 4
test esi, esi
je 0x43284c
cmp dword [esi + 4], 5
jg 0x43284c
push 0xc4
push esi
call fcn.00428ef0
add esp, 8
jmp 0x432828
fld qword [0x46fc40]
fcomp qword [0x44e440]
fnstsw ax
test ah, 0x41
jne case.0x431c1c.58
fld qword [0x66eba0]
fdiv qword [0x46fed8]
cmp ebx, 0x20
fadd qword [0x44e450]
jne 0x431822
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fadd qword [0x44e448]
add esp, 8
fmul qword [0x46fed8]
jmp 0x43183d
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fmul qword [0x46fed8]
add esp, 8
fsub qword [0x46fed8]
mov eax, dword [0x66eb20]
mov dword [0x4762c8], 0
fstp qword [0x66eba0]
mov dword [0x4762cc], 0
test eax, eax
je case.0x431c1c.58
push 0x66e298
call fcn.0042dd30
add esp, 4
jmp case.0x431c1c.58
fld qword [0x46fc40]
fcomp qword [0x44e440]
fnstsw ax
test ah, 0x41
jne case.0x431c1c.58
mov eax, dword [0x66b080]
test eax, eax
jne 0x4318ce
fld qword [0x66ebb8]
fcomp qword [0x44e440]
fnstsw ax
test ah, 1
jne 0x431909
fld qword [0x66ebc0]
fcomp qword [0x44e440]
fnstsw ax
test ah, 1
je 0x4318ce
fld qword [0x66eb50]
fadd qword [0x66eb48]
fstp qword [0x66eb50]
fld qword [0x66ebb8]
fcomp qword [0x44e440]
fnstsw ax
test ah, 1
jne 0x431909
fld qword [0x66ebc0]
fcomp qword [0x44e440]
fnstsw ax
test ah, 1
je 0x431909
mov eax, dword [0x66eb48]
mov ecx, dword [0x66eb4c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
jmp 0x431919
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [0x694c84]
push edx
mov edx, dword [0x694c80]
push eax
push ecx
push edx
call fcn.00430470
mov eax, dword [0x694c80]
mov ecx, dword [0x694c84]
mov dword [0x66e088], eax
mov edx, eax
mov dword [0x66e08c], ecx
mov eax, ecx
mov ecx, dword [0x66eb50]
mov dword [0x66b088], edx
mov edx, dword [0x66eb54]
mov dword [0x66b08c], eax
mov dword [0x66e128], ecx
mov eax, ecx
mov ecx, edx
add esp, 0x10
mov dword [0x66e12c], edx
mov dword [0x66c088], eax
mov dword [0x66c08c], ecx
mov dword [0x66e130], 0
mov dword [0x66e134], 0
mov dword [0x66c090], 0
mov dword [0x66c094], 0
jmp case.0x431c1c.58
fld qword [0x46fc40]
fcomp qword [0x44e440]
fnstsw ax
test ah, 0x41
jne 0x4319ec
mov edi, dword [0x66b03c]
xor edx, edx
cmp edi, 2
push 0x66e298
setne dl
inc edx
mov dword [0x66b03c], edx
call fcn.0042dd30
add esp, 4
jmp case.0x431c1c.58
mov dword [0x66b03c], 0
jmp case.0x431c1c.58
fld qword [0x476328]
fcomp qword [0x44e438]
fnstsw ax
test ah, 0x41
jne 0x431a25
fld qword [0x476328]
fcomp qword [0x44e430]
fnstsw ax
test ah, 1
jne case.0x431c1c.58
push 0x66e848
push str.Adjustable
call fcn.004358a0
mov eax, dword [0x59d1d0]
add esp, 8
test eax, eax
jbe 0x431a8d
cmp eax, 0x3e8
ja 0x431a8d
mov eax, dword [0x48ff90]
test eax, eax
jne 0x431a8d
mov eax, dword [0x694ccc]
mov ecx, dword [0x69b5b0]
push eax
push ecx
push 0
push 0
push 0xffffffffffffffff
push 0
push 0x245
call fcn.00426440
mov edx, dword [0x694ca8]
add esp, 0x1c
push 0
push 0x1388
push 0x2e
push edx
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.0x431c1c.58
cmp ebx, 0x24
jne 0x431aae
fld qword [0x66e888]
fcomp qword [0x44e490]
fnstsw ax
test ah, 1
jne 0x431b49
jmp case.0x431c1c.58
cmp ebx, 0x25
jne case.0x431c1c.58
fld qword [0x66e888]
fcomp qword [0x44e498]
fnstsw ax
test ah, 0x41
jne case.0x431c1c.58
fld qword [0x66e888]
fmul qword [0x44e490]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fmul qword [0x44e530]
add esp, 8
fsub qword [0x44e530]
push 0
push 0
push 1
push 0x66e848
fstp qword [0x66e888]
push str.Adjustable
mov dword [0x66e890], 0
mov dword [0x66e894], 0
mov dword [0x66e898], 0
call fcn.00435bd0
push 0
push 0
push 0
push 0xbbf
call fcn.00422f80
add esp, 0x24
jmp case.0x431c1c.58
fld qword [0x66e888]
fmul qword [0x44e490]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fadd qword [0x44e448]
add esp, 8
fmul qword [0x44e530]
jmp 0x431afb
push 0
push 0
push 0
push 0
push 0x3fd
call fcn.00423180
add esp, 0x14
jmp case.0x431c1c.58
push 0
push 0
push 0
push 0xce
call fcn.00422f80
add esp, 0x10
push 0x980
push 0x66e298
push 0x7d0
call fcn.00423050
mov edx, dword [0x694ca8]
add esp, 0xc
push 0
push 0xfa
push 0x1f
push edx
call dword [sym.imp.USER32.dll_SetTimer]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
push 5
push 1
push 0
call fcn.00423a50
mov esi, eax
add esp, 0x14
test esi, esi
je 0x43284c
push 0xc4
push esi
call fcn.00428ef0
add esp, 8
jmp 0x432828
cmp ebx, 0x44
jg 0x432bca
je case.0x431424.11
lea eax, [ebx - 0x34]
cmp eax, 0xf
ja case.0x431c1c.58
jmp dword [eax*4 + 0x432cb4]
mov eax, dword [0x47279c]
test eax, eax
je 0x431d35
cmp ebx, 0x14
je 0x431c70
cmp ebx, 0x15
je 0x431c70
cmp ebx, 0x18
je 0x431c70
cmp ebx, 0x19
je 0x431c70
cmp ebx, 0x1c
je 0x431c70
cmp ebx, 0x1d
je 0x431c70
cmp ebx, 0x12
je 0x431c70
cmp ebx, 0x13
je 0x431c70
cmp ebx, 0x40
je 0x431c70
cmp ebx, 0x41
je 0x431c70
cmp ebx, 0x42
je 0x431c70
cmp ebx, 0x43
jne 0x431d35
test edi, edi
je 0x431d39
push edi
call fcn.00423680
mov esi, eax
add esp, 4
test esi, esi
je 0x43284c
cmp dword [esi + 4], 4
jge 0x43284c
cmp esi, 0x66e298
je 0x431cb1
mov eax, dword [esi + 0x618]
test eax, eax
jne 0x431cb1
mov dword [esi + 0x618], 1
push 0
push 0
push 0
push ebx
call fcn.00408210
add esp, 4
push eax
mov eax, dword [esi]
push eax
push 0
push 0x3cf
call fcn.00426440
add esp, 0x1c
cmp ebx, 0x18
mov edi, 2
je 0x431ce2
cmp ebx, 0x19
jne 0x431cfd
cmp dword [esi + 4], 1
jne 0x431cfd
mov ecx, dword [esi]
push ecx
push 0x1202
push 0xffffffffffffffff
call fcn.0042e250
add esp, 0xc
mov dword [esi + 4], edi
cmp ebx, 0x14
je 0x431d07
cmp ebx, 0x15
jne 0x431d70
mov eax, dword [esi + 4]
cmp eax, 1
je 0x431d13
cmp eax, edi
jne 0x431d70
mov edx, dword [esi]
push edx
push 0x1216
push 0xffffffffffffffff
call fcn.0042e250
mov eax, dword [esi + 4]
add esp, 0xc
cmp eax, edi
jne 0x431d70
mov dword [esi + 4], 3
jmp 0x431d70
test edi, edi
jg 0x431d6b
cmp eax, 1
je 0x431d43
cmp eax, 2
jne 0x431d4d
cmp ebx, 0x18
je 0x431d5c
cmp ebx, 0x19
je 0x431d5c
cmp eax, 3
jne 0x431d6b
cmp ebx, 0x14
je 0x431d5c
cmp ebx, 0x15
jne 0x431d6b
push 0
call fcn.00432dc0
add esp, 4
jmp case.0x431c1c.58
mov esi, 0x66e298
push esi
call fcn.00423410
mov edi, eax
lea eax, [ebx - 0x12]
add esp, 4
cmp eax, 0x31
ja case.0x431ded.17
xor ecx, ecx
mov cl, byte [eax + 0x432d10]
jmp dword [ecx*4 + 0x432cf4]
mov ecx, dword [esi + 0x88c]
or ecx, 1
jmp 0x431dd6
mov ecx, dword [esi + 0x88c]
or ecx, 2
jmp 0x431dd6
mov ecx, dword [esi + 0x88c]
or ecx, 4
jmp 0x431dd6
mov ecx, dword [esi + 0x88c]
or ecx, 8
jmp 0x431dd6
mov ecx, dword [esi + 0x88c]
or ecx, 0x10
jmp 0x431dd6
mov ecx, dword [esi + 0x88c]
or ecx, 0x20
mov dword [esi + 0x88c], ecx
cmp eax, 0x31
ja case.0x431ded.17
xor edx, edx
mov dl, byte [eax + 0x432d8c]
jmp dword [edx*4 + 0x432d44]
fld qword [esi + 0x898]
fdiv qword [edi + 0x5e8]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fadd qword [0x44e448]
add esp, 8
fmul qword [edi + 0x5e8]
fstp qword [esi + 0x898]
mov eax, dword [0x694c80]
mov ecx, dword [0x694c84]
mov dword [0x4762c0], eax
mov dword [0x4762c4], ecx
jmp case.0x431ded.17
fld qword [esi + 0x898]
fdiv qword [edi + 0x5e8]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fmul qword [edi + 0x5e8]
add esp, 8
fsub qword [edi + 0x5e8]
fst qword [esi + 0x898]
fcom qword [0x44e440]
fnstsw ax
test ah, 0x41
je 0x431e8a
fstp st(0)
fld qword [0x44e440]
fstp qword [esi + 0x898]
mov edx, dword [0x694c80]
mov eax, dword [0x694c84]
mov dword [0x4762c0], edx
mov dword [0x4762c4], eax
jmp case.0x431ded.17
fld qword [edi + 0x458]
fmul qword [edi + 0x450]
cmp ebx, 0x40
fmul qword [edi + 0x438]
fld qword [edi + 0x448]
fmul qword [edi + 0x440]
faddp st(1)
fmul qword [edi + 0x5b8]
fld qword [esi + 0x8b8]
fadd qword [esi + 0x8b0]
fdivp st(1)
fstp qword [esp + 0x10]
jne 0x431f13
fld qword [esi + 0x900]
fdiv qword [esp + 0x10]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fadd qword [0x44e448]
add esp, 8
fmul qword [esp + 0x10]
jmp 0x431f4d
fld qword [esi + 0x920]
fcomp qword [edi + 0x5b8]
fnstsw ax
test ah, 1
jne 0x431f53
fld qword [esi + 0x900]
fdiv qword [esp + 0x10]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fmul qword [esp + 0x18]
add esp, 8
fsub qword [esp + 0x10]
fstp qword [esi + 0x900]
mov dword [0x4762c8], 0
mov dword [0x4762cc], 0
jmp case.0x431ded.17
fld qword [edi + 0x570]
fmul qword [edi + 0x5c8]
fld qword [esi + 0x8b8]
fadd qword [esi + 0x8b0]
cmp ebx, 0x42
fdivp st(1)
fstp qword [esp + 0x10]
jne 0x431fba
fld qword [esi + 0x930]
fdiv qword [esp + 0x10]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fadd qword [0x44e448]
add esp, 8
fmul qword [esp + 0x10]
jmp 0x431ff4
fld qword [esi + 0x940]
fcomp qword [edi + 0x5c8]
fnstsw ax
test ah, 1
jne 0x431ffa
fld qword [esi + 0x930]
fdiv qword [esp + 0x10]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fmul qword [esp + 0x18]
add esp, 8
fsub qword [esp + 0x10]
fstp qword [esi + 0x930]
mov dword [0x4762c8], 0
mov dword [0x4762cc], 0
jmp case.0x431ded.17
fld qword [esi + 0x8e0]
fdiv qword [edi + 0x600]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fadd qword [0x44e448]
add esp, 8
fmul qword [edi + 0x600]
fstp qword [esi + 0x8e0]
jmp case.0x431ded.17
fld qword [esi + 0x8e0]
fdiv qword [edi + 0x600]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fmul qword [edi + 0x600]
add esp, 8
fsub qword [edi + 0x600]
fst qword [esi + 0x8e0]
fld qword [edi + 0x600]
fld st(1)
fcompp
fnstsw ax
test ah, 0x41
je 0x432097
fstp st(0)
fld qword [edi + 0x600]
fstp qword [esi + 0x8e0]
jmp case.0x431ded.17
fld qword [esi + 0x8b0]
fdiv qword [edi + 0x5f0]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fadd qword [0x44e448]
add esp, 8
fmul qword [edi + 0x5f0]
fstp qword [esi + 0x8b0]
jmp case.0x431ded.17
fld qword [esi + 0x8b0]
fdiv qword [edi + 0x5f0]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fmul qword [edi + 0x5f0]
add esp, 8
fsub qword [edi + 0x5f0]
fst qword [esi + 0x8b0]
fld qword [edi + 0x5f0]
fld st(1)
fcompp
fnstsw ax
test ah, 0x41
je 0x432126
fstp st(0)
fld qword [edi + 0x5f0]
fstp qword [esi + 0x8b0]
jmp case.0x431ded.17
fld qword [esi + 0x8d0]
fdiv qword [edi + 0x600]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fadd qword [0x44e448]
add esp, 8
fmul qword [edi + 0x600]
fst qword [esi + 0x8d0]
fst qword [esi + 0x8e0]
fstp qword [esi + 0x8d8]
mov dword [0x4762b8], 1
jmp case.0x431ded.17
fld qword [esi + 0x8d0]
fdiv qword [edi + 0x600]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fmul qword [edi + 0x600]
add esp, 8
fsub qword [edi + 0x600]
fst qword [esi + 0x8d0]
fld qword [edi + 0x600]
fld st(1)
fcompp
fnstsw ax
test ah, 0x41
je 0x43215e
fstp st(0)
fld qword [edi + 0x600]
jmp 0x43215e
fld qword [esi + 0x8a0]
fdiv qword [edi + 0x5f0]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fadd qword [0x44e448]
add esp, 8
fmul qword [edi + 0x5f0]
jmp 0x432248
fld qword [esi + 0x8a0]
fdiv qword [edi + 0x5f0]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fmul qword [edi + 0x5f0]
add esp, 8
fsub qword [edi + 0x5f0]
fst qword [esi + 0x8a0]
fld qword [edi + 0x5f0]
fld st(1)
fcompp
fnstsw ax
test ah, 0x41
je 0x432248
fstp st(0)
fld qword [edi + 0x5f0]
fst qword [esi + 0x8a0]
fst qword [esi + 0x8b0]
fstp qword [esi + 0x8a8]
mov dword [0x4762b8], 1
jmp case.0x431ded.17
fld qword [esi + 0x970]
fcomp qword [0x44e440]
fnstsw ax
test ah, 1
jne 0x4322d2
fld qword [esi + 0x978]
fcomp qword [0x44e440]
fnstsw ax
test ah, 0x41
je 0x4322d2
fld qword [esi + 0x970]
fdiv qword [edi + 0x5d8]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fadd qword [0x44e448]
add esp, 8
xor eax, eax
fmul qword [edi + 0x5d8]
mov dword [esi + 0x978], eax
mov dword [esi + 0x97c], eax
fstp qword [esi + 0x970]
jmp 0x43232e
fld qword [esi + 0x978]
fdiv qword [edi + 0x5e0]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fmul qword [edi + 0x5e0]
add esp, 8
fsub qword [edi + 0x5e0]
fst qword [esi + 0x978]
fcom qword [0x44e440]
fnstsw ax
test ah, 0x41
je 0x43231a
fstp st(0)
fld qword [0x44e440]
fstp qword [esi + 0x978]
xor eax, eax
mov dword [esi + 0x970], eax
mov dword [esi + 0x974], eax
mov dword [esi + 0x950], 1
mov ecx, dword [0x694ca8]
push 0
push 0x64
push 0x24
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.0x431ded.17
fld qword [esi + 0x978]
fcomp qword [0x44e440]
fnstsw ax
test ah, 1
jne 0x4323b9
fld qword [esi + 0x970]
fcomp qword [0x44e440]
fnstsw ax
test ah, 0x41
je 0x4323b9
fld qword [esi + 0x978]
fdiv qword [edi + 0x5e0]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fadd qword [0x44e448]
add esp, 8
xor eax, eax
fmul qword [edi + 0x5e0]
mov dword [esi + 0x970], eax
mov dword [esi + 0x974], eax
fstp qword [esi + 0x978]
jmp 0x432415
fld qword [esi + 0x970]
fdiv qword [edi + 0x5d8]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fmul qword [edi + 0x5d8]
add esp, 8
fsub qword [edi + 0x5d8]
fst qword [esi + 0x970]
fcom qword [0x44e440]
fnstsw ax
test ah, 0x41
je 0x432401
fstp st(0)
fld qword [0x44e440]
fstp qword [esi + 0x970]
xor eax, eax
mov dword [esi + 0x978], eax
mov dword [esi + 0x97c], eax
mov dword [esi + 0x950], 1
mov edx, dword [0x694ca8]
push 0
push 0x64
push 0x24
push edx
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.0x431ded.17
fld qword [0x46fc40]
fcomp qword [0x44e440]
fnstsw ax
test ah, 0x41
jne case.0x431ded.17
fld qword [esi + 0x8c0]
fdiv qword [edi + 0x5f8]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fadd qword [0x44e448]
add esp, 8
fmul qword [edi + 0x5f8]
fstp qword [esi + 0x8c0]
jmp case.0x431ded.17
fld qword [0x46fc40]
fcomp qword [0x44e440]
fnstsw ax
test ah, 0x41
jne case.0x431ded.17
fld qword [esi + 0x8c0]
fdiv qword [edi + 0x5f8]
sub esp, 8
fadd qword [0x44e450]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fmul qword [edi + 0x5f8]
add esp, 8
fsub qword [edi + 0x5f8]
fst qword [esi + 0x8c0]
fld qword [edi + 0x5f8]
fld st(1)
fcompp
fnstsw ax
test ah, 0x41
je 0x4324e9
fstp st(0)
fld qword [edi + 0x5f8]
fstp qword [esi + 0x8c0]
jmp case.0x431ded.17
fld qword [0x46fc40]
fcomp qword [0x44e440]
fnstsw ax
test ah, 0x41
jne case.0x431ded.17
mov eax, dword [0x66b080]
test eax, eax
je 0x432617
fld qword [0x66e268]
fdiv qword [0x46fee0]
mov eax, dword [0x66e268]
mov ecx, dword [0x66e26c]
cmp ebx, 0x1e
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
fadd qword [0x44e450]
jne 0x43255f
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fadd qword [0x44e448]
add esp, 8
fmul qword [0x46fee0]
jmp 0x43257a
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fmul qword [0x46fee0]
add esp, 8
fsub qword [0x46fee0]
fstp qword [0x66e268]
fld qword [0x66e268]
fsub qword [esp + 0x18]
fstp qword [esp + 0x10]
fld qword [0x66e278]
fadd qword [esp + 0x10]
fcom qword [0x44e440]
fnstsw ax
test ah, 0x41
jne 0x432600
fstp qword [0x66e278]
fld qword [esp + 0x10]
fadd qword [esi + 0x8b8]
mov ecx, 0x66c088
fstp qword [esi + 0x8b8]
fld qword [ecx]
fcomp qword [0x44e440]
fnstsw ax
test ah, 0x41
jne 0x4325e3
fld qword [esp + 0x10]
fadd qword [ecx]
add ecx, 8
cmp ecx, 0x66d088
fstp qword [ecx - 8]
jl 0x4325c0
mov eax, 0x66e128
fld qword [esp + 0x10]
fadd qword [eax]
add eax, 8
cmp eax, 0x66e1c8
fstp qword [eax - 8]
jl 0x4325e8
jmp case.0x431ded.17
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
fstp st(0)
mov dword [0x66e268], edx
mov dword [0x66e26c], eax
jmp case.0x431ded.17
fld qword [esi + 0x8b8]
fdiv qword [edi + 0x5f0]
cmp ebx, 0x1e
fadd qword [0x44e450]
jne 0x43264b
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fadd qword [0x44e448]
add esp, 8
fmul qword [edi + 0x5f0]
jmp 0x432685
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fmul qword [edi + 0x5f0]
add esp, 8
fsub qword [edi + 0x5f0]
fst qword [esi + 0x8b8]
fld qword [edi + 0x5f0]
fld st(1)
fcompp
fnstsw ax
test ah, 0x41
je 0x432685
fstp st(0)
fld qword [edi + 0x5f0]
fstp qword [esi + 0x8b8]
cmp dword [0x476274], 0xffffffff
jne 0x4326a0
mov dword [esi + 0x888], 0
jmp 0x4326e9
fld qword [0x4762c8]
fcomp qword [0x44e440]
fnstsw ax
test ah, 0x40
mov eax, dword [esi + 0x888]
jne 0x4326dc
test eax, eax
je 0x4326e9
push esi
push edi
push 0
push 0
push 0x472218
push 3
call section..text
push esi
push 2
call fcn.004308d0
add esp, 0x20
jmp 0x4326e9
test eax, eax
je 0x4326e9
push esi
call fcn.0042dd30
add esp, 4
mov ecx, dword [0x694ca8]
push 0
push 0xfa
push 0x1e
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x432828
push 0xc6
push edi
call fcn.00423680
add esp, 4
push eax
call fcn.00428ef0
add esp, 8
jmp case.0x431c1c.58
test edi, edi
jle 0x43273f
cmp dword [0x47279c], 1
jne 0x432791
mov eax, dword [0x694cf0]
test eax, eax
jne 0x432791
mov eax, dword [0x694cf4]
test eax, eax
jne 0x432791
mov edx, dword [0x46fbd0]
mov eax, dword [0x46fbd4]
mov ecx, dword [0x46fbf8]
mov dword [0x66eb48], edx
mov edx, dword [0x46fbfc]
push 1
push 1
push 0x40
mov dword [0x66eb4c], eax
mov dword [0x66eb78], ecx
mov dword [0x66eb7c], edx
call fcn.0042c1e0
mov eax, dword [0x66eb20]
add esp, 0xc
test eax, eax
je 0x432791
push 0x66e298
call fcn.0042dd30
add esp, 4
push edi
call fcn.00423680
mov esi, eax
add esp, 4
test esi, esi
je case.0x431c1c.58
cmp dword [esi + 4], 4
jge 0x43284c
push 1
push 1
push edi
call fcn.004236c0
add esp, 4
push eax
call fcn.0042c1e0
add esp, 0xc
test eax, eax
je 0x432828
push eax
lea eax, [esp + 0x24]
push str.Fixed_Alm__d
push eax
call dword [sym.imp.MSVCRT.dll_swprintf]
mov eax, dword [esi + 0x618]
add esp, 0xc
test eax, eax
jne 0x4327f0
mov dword [esi + 0x618], 1
push 0
lea ecx, [esp + 0x24]
push 0
push ecx
push ebx
call fcn.00408210
mov edx, dword [esi]
add esp, 4
push eax
push edx
push 0
push 0x3cf
call fcn.00426440
mov eax, dword [esi + 0x888]
add esp, 0x1c
test eax, eax
je 0x432828
push esi
call fcn.0042dd30
add esp, 4
test esi, esi
je case.0x431c1c.58
cmp esi, 0x66e298
je case.0x431c1c.58
push 0x980
push esi
push 0x7d2
jmp 0x431bb1
push esi
call fcn.00432dc0
jmp 0x432825
mov eax, dword [0x694cc0]
test eax, eax
je 0x43286d
mov eax, dword [0x694ca8]
push 7
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x432892
mov ecx, dword [0x694ca8]
push 3
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [0x694ca8]
push 0
push 0x3a98
push 0xd
push edx
call dword [sym.imp.USER32.dll_SetTimer]
mov ecx, dword [0x694cc0]
xor eax, eax
test ecx, ecx
sete al
mov dword [0x694cc0], eax
jmp case.0x431c1c.58
mov eax, dword [ebp + 8]
cmp eax, 0x14
jl 0x4328b8
cmp eax, 0x1e
jl 0x4328ca
jmp 0x4328c1
cmp eax, 0x1e
jl case.0x431c1c.58
cmp eax, 0x28
jge case.0x431c1c.58
mov edx, dword [ebp + 8]
xor ebx, ebx
xor ecx, ecx
mov eax, 0x69b4f8
lea edi, [edx - 0x14]
mov edx, dword [edi*4 + 0x69b4f8]
test edx, edx
je 0x4328f9
cmp ecx, edi
je 0x4328ec
cmp dword [eax], edx
je 0x4328f9
add eax, 4
inc ecx
cmp eax, 0x69b548
jl 0x4328e0
jmp 0x4328fe
cmp ecx, 0x14
jl 0x43292a
push edx
call fcn.0041c340
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x43292a
mov eax, dword [0x694ca8]
push 4
push 0x694cb0
push 0xfa5
push 0
push ebx
push eax
call fcn.00422d70
add esp, 0x18
mov esi, dword [edi*4 + 0x69b4f8]
inc esi
cmp esi, 0x32
jg 0x43293e
mov esi, 0x32
jmp 0x432943
cmp esi, 0x3c
jge 0x43297f
push esi
call fcn.0041c340
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x43295a
inc esi
cmp esi, 0x3c
jl 0x432943
jmp 0x43297f
mov ecx, dword [0x694ca8]
push 4
push 0x458708
push 0xfa5
push 0
push ebx
push ecx
mov dword [edi*4 + 0x69b4f8], esi
call fcn.00422d70
add esp, 0x18
test ebx, ebx
jne case.0x431c1c.58
mov eax, dword [edi*4 + 0x69b4f8]
test eax, eax
je case.0x431c1c.58
mov edx, dword [ebp + 8]
mov dword [edi*4 + 0x69b4f8], ebx
push edx
call fcn.0041c340
add esp, 4
test eax, eax
je case.0x431c1c.58
push ebx
push ebx
push 0xfa6
push ebx
push eax
mov eax, dword [0x694ca8]
push eax
call fcn.00422d70
add esp, 0x18
jmp case.0x431c1c.58
mov eax, dword [ebp + 8]
cmp eax, 0x14
jl 0x4329dc
cmp eax, 0x1e
jl 0x4329ee
jmp 0x4329e5
cmp eax, 0x1e
jl case.0x431c1c.58
cmp eax, 0x28
jge case.0x431c1c.58
mov ecx, dword [eax*4 + 0x69b4f8]
push 1
dec ecx
neg ecx
sbb ecx, ecx
and ecx, 2
dec ecx
mov dword [eax*4 + 0x69b4f8], ecx
call fcn.0042f7e0
add esp, 4
test eax, eax
je 0x432a2e
mov edx, dword [0x694ca8]
push 0
push 0x3e8
push 0x2d
push edx
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.0x431c1c.58
mov eax, dword [0x694ca8]
push 0x2d
push eax
call dword [sym.imp.USER32.dll_KillTimer]
jmp case.0x431c1c.58
push 0
push 0
push 0x11
call fcn.00422f30
add esp, 0xc
jmp case.0x431c1c.58
mov ecx, dword [ebp + 8]
push ecx
call fcn.0041c340
add esp, 4
test eax, eax
je case.0x431c1c.58
mov edx, dword [0x694ca8]
push 0
push 0
push 0x11
push 0
push eax
push edx
call fcn.00422d70
add esp, 0x18
jmp case.0x431c1c.58
push 0
call fcn.004268b0
add esp, 4
test eax, eax
je case.0x431c1c.58
push 0
push 0
call fcn.00426b20
add esp, 8
test eax, eax
je case.0x431c1c.58
mov edi, dword [0x4762b8]
xor eax, eax
test edi, edi
push 0x46f8f0
push 0x472218
sete al
push eax
push 0x66e298
call fcn.00423d40
mov eax, dword [0x476274]
add esp, 0x10
cmp eax, 0xffffffff
jne 0x432ae6
mov dword [0x66eb20], 0
jmp 0x432b3e
fld qword [0x4762c8]
fcomp qword [0x44e440]
fnstsw ax
test ah, 0x40
mov eax, dword [0x66eb20]
jne 0x432b2d
test eax, eax
je 0x432b3e
push 0x66e298
push 0x46f8f0
push 0
push 0
push 0x472218
push 3
call section..text
push 0x66e298
push 2
call fcn.004308d0
add esp, 0x20
jmp 0x432b3e
test eax, eax
je 0x432b3e
push 0x66e298
call fcn.0042dd30
add esp, 4
push 4
push 0x458724
push 6
call fcn.00422f30
add esp, 0xc
jmp case.0x431c1c.58
push 0
push 0
push 0
push 0xbc7
jmp 0x431b9a
mov esi, dword [0x69b5a4]
xor ecx, ecx
test esi, esi
sete cl
push ecx
call fcn.0042d010
add esp, 4
jmp case.0x431c1c.58
mov eax, dword [0x458724]
test eax, eax
je case.0x431c1c.58
push 0
call fcn.00427740
add esp, 4
jmp case.0x431c1c.58
mov edx, dword [0x694ca8]
sub ebx, 0x28
neg ebx
sbb ebx, ebx
push 0
and ebx, 2
push 0x3e8
inc ebx
push 0x8d
push edx
mov dword [0x694cd4], ebx
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.0x431c1c.58
sub ebx, 0x190
je 0x432c22
dec ebx
je 0x432bee
dec ebx
jne case.0x431c1c.58
mov eax, dword [ebp + 8]
push eax
push edi
call fcn.00432e30
add esp, 8
jmp case.0x431c1c.58
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 7
push 0x226
call fcn.00426440
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 7
push 0x22b
call fcn.00426440
add esp, 0x38
jmp case.0x431c1c.58
mov ecx, dword [0x694cec]
push 0xffffffffffffffff
push 0x66ec18
push ecx
push 0x468250
call fcn.00434470
jmp 0x431b9f