Function at 0x401000
Capabilities:
Allocate thread local storage

Disassembly:
push 0x9c
push 0
push 0x441be0
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0
call sub.KERNEL32.dll_GetModuleHandleW
mov dword [0x441be4], eax
push 0
push 0x1000
push 0
call sub.KERNEL32.dll_HeapCreate
mov dword [0x441be0], eax
mov eax, str.GIF89a_r
mov dword [0x441c08], eax
call fcn.00418e30
call fcn.0041844b
call fcn.00418310
call fcn.00417810
call fcn.00415947
call fcn.00415100
call fcn.004146e0
call fcn.00413973
call fcn.004136d7
call fcn.0040b0db
call fcn.0040ae56
call fcn.0040ab37
call fcn.0040a070
call fcn.0040967a
call fcn.0040901c
call fcn.00408c61
call fcn.00408b9d
call fcn.0040568b
call fcn.004055e9
call fcn.00409ce0
mov dword [0x441c3c], 3
call fcn.00407433
call fcn.0040624b
call fcn.00405f53
call fcn.00404880
call fcn.00404927
and eax, eax
je 0x4010de
mov dword [0x441c2c], 1
push 0x14
mov eax, str.Arial
push eax
push 0
call fcn.00418561
mov dword [0x441c0c], eax
mov edx, dword [0x442074]
push edx
push edx
mov edx, dword [0x442074]
push edx
push edx
call fcn.00405618
mov edx, dword [0x4405b8]
add dword [esp], edx
call fcn.00409db5
push 0x441be8
call fcn.00418eb0
cmp dword [0x441c2c], 0
je 0x4013ff
push dword [0x442074]
mov edx, dword [0x441be8]
push dword [0x442074]
push edx
call fcn.00418f30
mov edx, str.Sound_ballboard.ogg
push edx
call fcn.00418f30
add dword [0x442074], 2
push 0
mov edx, dword [0x4405b8]
add dword [esp + 4], edx
call fcn.00404b35
pop dword [0x442074]
and eax, eax
je 0x40117e
xor eax, eax
jmp 0x401183
mov eax, 1
and eax, eax
jne 0x4013e6
push dword [0x442074]
mov edx, dword [0x441be8]
push dword [0x442074]
push edx
call fcn.00418f30
mov edx, str.Sound_ballbrick.ogg
push edx
call fcn.00418f30
add dword [0x442074], 2
push 1
mov edx, dword [0x4405b8]
add dword [esp + 4], edx
call fcn.00404b35
pop dword [0x442074]
and eax, eax
je 0x4011d7
xor eax, eax
jmp 0x4011dc
mov eax, 1
and eax, eax
jne 0x4013d7
push dword [0x442074]
mov edx, dword [0x441be8]
push dword [0x442074]
push edx
call fcn.00418f30
mov edx, str.Sound_victory.ogg
push edx
call fcn.00418f30
add dword [0x442074], 2
push 2
mov edx, dword [0x4405b8]
add dword [esp + 4], edx
call fcn.00404b35
pop dword [0x442074]
and eax, eax
je 0x401230
xor eax, eax
jmp 0x401235
mov eax, 1
and eax, eax
jne 0x4013c8
push dword [0x442074]
mov edx, dword [0x441be8]
push dword [0x442074]
push edx
call fcn.00418f30
mov edx, str.Sound_background.ogg
push edx
call fcn.00418f30
add dword [0x442074], 2
push 3
mov edx, dword [0x4405b8]
add dword [esp + 4], edx
call fcn.00404b35
pop dword [0x442074]
and eax, eax
je 0x401289
xor eax, eax
jmp 0x40128e
mov eax, 1
and eax, eax
jne 0x4013b9
push dword [0x442074]
mov edx, dword [0x441be8]
push dword [0x442074]
push edx
call fcn.00418f30
mov edx, str.Soundglass.ogg
push edx
call fcn.00418f30
add dword [0x442074], 2
push 5
mov edx, dword [0x4405b8]
add dword [esp + 4], edx
call fcn.00404b35
pop dword [0x442074]
and eax, eax
je 0x4012e2
xor eax, eax
jmp 0x4012e7
mov eax, 1
and eax, eax
jne 0x4013aa
push dword [0x442074]
mov edx, dword [0x441be8]
push dword [0x442074]
push edx
call fcn.00418f30
mov edx, str.Soundgameover.ogg
push edx
call fcn.00418f30
add dword [0x442074], 2
push 4
mov edx, dword [0x4405b8]
add dword [esp + 4], edx
call fcn.00404b35
pop dword [0x442074]
and eax, eax
je 0x40133b
xor eax, eax
jmp 0x401340
mov eax, 1
and eax, eax
jne 0x40139b
push dword [0x442074]
mov edx, dword [0x441be8]
push dword [0x442074]
push edx
call fcn.00418f30
mov edx, str.Sound_thud.ogg
push edx
call fcn.00418f30
add dword [0x442074], 2
push 6
mov edx, dword [0x4405b8]
add dword [esp + 4], edx
call fcn.00404b35
pop dword [0x442074]
and eax, eax
je 0x401390
xor eax, eax
jmp 0x401395
mov eax, 1
and eax, eax
jne 0x40139b
jmp 0x4013a2
mov eax, 1
jmp 0x4013a4
xor eax, eax
and eax, eax
jne 0x4013aa
jmp 0x4013b1
mov eax, 1
jmp 0x4013b3
xor eax, eax
and eax, eax
jne 0x4013b9
jmp 0x4013c0
mov eax, 1
jmp 0x4013c2
xor eax, eax
and eax, eax
jne 0x4013c8
jmp 0x4013cf
mov eax, 1
jmp 0x4013d1
xor eax, eax
and eax, eax
jne 0x4013d7
jmp 0x4013de
mov eax, 1
jmp 0x4013e0
xor eax, eax
and eax, eax
jne 0x4013e6
jmp 0x4013ed
mov eax, 1
jmp 0x4013ef
xor eax, eax
and eax, eax
je 0x4013ff
mov dword [0x441c2c], 0
jmp 0x4013ff
mov edx, dword [0x442074]
push edx
push edx
mov edx, dword [0x442074]
push edx
push edx
call fcn.00405618
mov edx, dword [0x4405b8]
add dword [esp], edx
call fcn.00409db5
mov edx, str.BallBrick.ini
push edx
call fcn.00418f30
push 0x441c34
call fcn.00418eb0
push 0x441c58
push 0
push 0x15
push 8
push 4
call fcn.0040ae7f
mov ebp, dword [0x441c58]
mov dword [ebp + 0xc], 0xff
mov dword [ebp + 0x14], 0x7dc4df
mov dword [ebp + 0x18], 0x3aa5ce
mov dword [ebp + 0x1c], 0x111111
push dword [0x441c34]
call fcn.00409e34
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jg 0x401496
jl 0x401492
cmp ebx, 6
ja 0x401496
xor eax, eax
jmp 0x40149b
mov eax, 1
or eax, eax
je 0x4014b5
push dword [0x441c34]
call fcn.00405a88
and eax, eax
je 0x4014b5
mov eax, 1
jmp 0x4014b7
xor eax, eax
and eax, eax
je 0x401578
call fcn.00405ac6
call fcn.00405af0
and eax, eax
je 0x401573
mov edx, dword [0x442074]
push edx
push edx
push dword [0x442074]
call fcn.00405b40
mov edx, dword [0x4405b8]
add dword [esp], edx
call fcn.00417ac0
pop dword [0x442074]
mov dword [0x441c48], eax
mov ebx, dword [0x441c48]
and ebx, ebx
jle 0x401519
mov ebx, dword [0x441c48]
cmp ebx, 8
jge 0x401519
mov eax, 1
jmp 0x40151b
xor eax, eax
and eax, eax
je 0x40156e
mov edx, dword [0x442074]
push edx
push edx
mov edx, 0x44004a
push edx
call fcn.00418f30
mov edx, dword [0x442074]
push edx
push edx
call fcn.00405ba1
pop eax
mov edx, dword [0x4405b8]
add dword [esp], edx
call fcn.00417ac0
pop dword [0x442074]
push eax
call fcn.0040363a
push eax
mov ebx, dword [0x441c48]
mov ebp, dword [0x441c58]
shl ebx, 2
pop dword [ebp + ebx]
jmp 0x4014c4
call fcn.00405c68
call fcn.0040aba8
push 0
call fcn.0040ae10
mov dword [0x441c04], eax
push 0
call fcn.0040ae33
mov dword [0x441c00], eax
push 0x400
push 0x500
push 0x441c00
push 0x441c04
call fcn.00402deb
call fcn.004066ec
and eax, eax
je 0x4015e1
call fcn.004067a3
and eax, eax
je 0x4015e1
mov ebx, dword [0x441c04]
call fcn.004067f9
cmp ebx, eax
jg 0x4015df
call fcn.004067f9
mov dword [0x441c48], eax
jmp 0x4015bd
mov eax, dword [0x441c48]
mov dword [0x441c04], eax
call fcn.004066ec
and eax, eax
je 0x401627
call fcn.004067a3
and eax, eax
je 0x401627
mov ebx, dword [0x441c04]
call fcn.004067f9
cmp ebx, eax
jne 0x401625
mov ebx, dword [0x441c00]
call fcn.004067dd
cmp ebx, eax
jge 0x401625
call fcn.004067dd
mov dword [0x441c00], eax
jmp 0x4015f4
mov ebx, dword [0x441c04]
mov eax, ebx
mov ecx, 0x14
cdq
idiv ecx
mov ebx, eax
mov dword [0x441bf8], ebx
mov ebx, dword [0x441c00]
mov eax, ebx
mov ecx, 0x1e
cdq
idiv ecx
mov ebx, eax
mov dword [0x441bf4], ebx
push dword [0x441c6c]
call fcn.00413a24
push 7
xor eax, eax
push eax
lea eax, [0x441c6c]
push eax
push 0x14
call fcn.00413992
push dword [0x441c74]
call fcn.00413a24
push 7
xor eax, eax
push eax
lea eax, [0x441c74]
push eax
push 0x14
call fcn.00413992
mov dword [0x441c64], 0x16
mov dword [0x441c68], 0x20
push 0x441c60
push 0
push 0x15
push 4
push 2
call fcn.0040af26
mov dword [0x441bec], 0xd
push 0x4b
push 2
mov eax, 0x440024
push eax
push 0x20
push dword [0x441c00]
push dword [0x441c04]
call fcn.0040684d
push 2
call fcn.00406000
mov edx, dword [0x442074]
push edx
push edx
mov edx, dword [0x442074]
push edx
push edx
call fcn.00405618
mov edx, dword [0x4405b8]
add dword [esp], edx
call fcn.00409db5
mov edx, str.ball.gif
push edx
call fcn.00418f30
push 0x441bfc
call fcn.00418eb0
push dword [0x441bfc]
call fcn.00409e34
push edx
push eax
pop ebx
pop edi
cmp ebx, 0
jne 0x401760
cmp edi, 0
jne 0x401760
xor eax, eax
jmp 0x401765
mov eax, 1
or eax, eax
je 0x401789
push 4
push dword [0x441bfc]
push 0
call fcn.004074dc
and eax, eax
je 0x401789
mov eax, 1
jmp 0x40178b
xor eax, eax
and eax, eax
je 0x401793
xor eax, eax
jmp 0x401798
mov eax, 1
and eax, eax
je 0x4017b1
push 4
mov ebp, str.GIF89a_r
push ebp
push 0
call fcn.00407571
push dword [0x441c00]
push dword [0x441c04]
push 3
call fcn.00407818
push 3
call fcn.0040782e
push eax
call fcn.0040b10f
and eax, eax
je 0x401863
push 0
push 0xcccccc
mov eax, str.Exit__Esc__Left_click
push eax
push 5
push 0x1f4
call fcn.0040b174
push 0xffffff
push dword [0x441c00]
push 1
push 0
push 0
call fcn.0040b1c9
push 0xffffff
push dword [0x441c00]
push 1
push 0
mov ebx, dword [0x441c04]
dec ebx
push ebx
call fcn.0040b1c9
push 0xffffff
push 1
push dword [0x441c04]
push 0
push 0
call fcn.0040b1c9
call fcn.0040b234
push dword [0x441c00]
push dword [0x441c04]
push 4
call fcn.00407818
push 4
call fcn.0040782e
push eax
call fcn.0040b10f
and eax, eax
je 0x4018f2
push 0xffffff
push dword [0x441c00]
push 1
push 0
push 0
call fcn.0040b1c9
push 0xffffff
push dword [0x441c00]
push 1
push 0
mov ebx, dword [0x441c04]
dec ebx
push ebx
call fcn.0040b1c9
push 0xffffff
push 1
push dword [0x441c04]
push 0
push 0
call fcn.0040b1c9
call fcn.0040b234
push 0x23
push 0x64
push 5
call fcn.00407818
push 5
call fcn.0040782e
push eax
call fcn.0040b10f
and eax, eax
je 0x401967
push 0
push 0x23
push 0x64
push 0
push 0
call fcn.0040b1c9
push dword [0x441c0c]
call fcn.0040b274
push 0
push 0xcccccc
mov eax, 0x440052
push eax
push 0
push 0
call fcn.0040b174
call fcn.0040b234
push 4
push 0xf
push 0x82
push 1
call fcn.00407768
push 1
call fcn.0040782e
push eax
call fcn.0040b10f
push 0x8080ff
push 0xf
push 0x82
push 0
push 0
call fcn.0040b1c9
call fcn.0040b234
push 0xf
push 0xa
push 2
call fcn.00407818
push 2
call fcn.0040782e
push eax
call fcn.0040b10f
mov dword [0x441c10], 0
jmp 0x4019e3
mov eax, 2
cmp eax, dword [0x441c10]
jl 0x401a1b
push 0xbbbb
push 4
push 0xa
mov ebx, dword [0x441c10]
imul ebx, ebx, 5
push ebx
push 0
call fcn.0040b1c9
inc dword [0x441c10]
jno 0x4019e3
call fcn.0040b234
mov dword [0x441bf0], 1
push dword [0x441bf0]
call fcn.00402910
call fcn.00403668
call fcn.004062ce
call fcn.00406171
push 1
call fcn.004061cf
and eax, eax
je 0x401aa6
cmp dword [0x441c2c], 0
je 0x401aa1
push 0
call fcn.00404dca
push 1
call fcn.00404dca
push 2
call fcn.00404dca
push 3
call fcn.00404dca
push 4
call fcn.00404dca
push 5
call fcn.00404dca
push 6
call fcn.00404dca
jmp 0x402891
call fcn.004065b6
mov dword [0x441c44], eax
mov ebx, dword [0x441c14]
and ebx, ebx
jge 0x401acd
mov ebx, dword [0x441c30]
neg ebx
mov dword [0x441c30], ebx
jmp 0x401c79
mov ebx, dword [0x441c14]
cmp ebx, dword [0x441c00]
jle 0x401c79
cmp dword [0x441c2c], 0
je 0x401b10
push 3
call fcn.00404edf
and eax, eax
je 0x401b06
push dword [0x441c54]
push 3
call fcn.00404ef1
push 4
call fcn.004051b5
dec dword [0x441c3c]
mov ebx, dword [0x441c3c]
and ebx, ebx
jg 0x401c0d
push 2
call fcn.0040782e
push eax
call fcn.0040b10f
and eax, eax
je 0x401b81
mov dword [0x441c10], 0
jmp 0x401b44
mov eax, 2
cmp eax, dword [0x441c10]
jl 0x401b7c
push 0xbbbb
push 4
push 0xa
mov ebx, dword [0x441c10]
imul ebx, ebx, 5
push ebx
push 0
call fcn.0040b1c9
inc dword [0x441c10]
jno 0x401b44
call fcn.0040b234
mov dword [0x441c40], 0
push 5
call fcn.0040782e
push eax
call fcn.0040b10f
and eax, eax
je 0x401bec
push 0
push 0x23
push 0x64
push 0
push 0
call fcn.0040b1c9
push dword [0x441c0c]
call fcn.0040b274
push 0
push 0xcccccc
mov eax, 0x440052
push eax
push 0
push 0
call fcn.0040b174
call fcn.0040b234
mov dword [0x441bf0], 1
push dword [0x441bf0]
call fcn.00402910
mov dword [0x441c3c], 3
jmp 0x401c74
push 2
call fcn.0040782e
push eax
call fcn.0040b10f
mov ebx, dword [0x441c3c]
cmp ebx, 3
jge 0x401c6f
push 0
push 4
push 0xa
push 0
push 0
call fcn.0040b1c9
mov ebx, dword [0x441c3c]
cmp ebx, 2
jge 0x401c6f
push 0
push 4
push 0xa
push 5
push 0
call fcn.0040b1c9
call fcn.0040b234
call fcn.00403668
fld dword [0x441c38]
fcomp dword [0x4401c4]
fnstsw ax
test ah, 1
je 0x401caa
fld dword [0x441c38]
fchs
fstp dword [0x441c38]
fld dword [0x441c50]
fchs
fstp dword [0x441c50]
jmp 0x401d01
fld dword [0x441c38]
fild dword [0x441c04]
fisub dword [0x441bec]
fadd dword [0x4401c4]
fcompp
fnstsw ax
test ah, 1
je 0x401d01
fild dword [0x441c04]
fisub dword [0x441bec]
fadd dword [0x4401c4]
fld dword [0x441c50]
fabs
fsubp st(1)
fadd dword [0x4401c4]
fstp dword [0x441c38]
fld dword [0x441c50]
fchs
fstp dword [0x441c50]
fld dword [0x441c38]
fadd dword [0x441c50]
fadd dword [0x4401c4]
fstp dword [0x441c38]
mov ebx, dword [0x441c14]
add ebx, dword [0x441c30]
mov dword [0x441c14], ebx
push 0
push 0
push 4
call fcn.00407bbb
push 5
mov ebx, dword [0x441c04]
add ebx, 0xffffff97
push ebx
push 5
call fcn.00407bbb
push 5
push 5
push 2
call fcn.00407bbb
push dword [0x441c14]
fld dword [0x441c38]
push eax
fistp dword [esp]
push 0
call fcn.00407bbb
mov ebx, dword [0x441c00]
add ebx, 0xfffffff1
push ebx
mov ebx, dword [0x441c44]
add ebx, 0xffffffbf
push ebx
push 1
call fcn.00407bbb
push dword [0x441c6c]
call fcn.00413a8d
push dword [0x441c6c]
call fcn.00413aa2
or eax, eax
je 0x401dd4
mov ebp, dword [0x441c70]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp + 0x18]
call fcn.00407bbb
jmp 0x401daf
push dword [0x441c74]
call fcn.00413a8d
push dword [0x441c74]
call fcn.00413aa2
or eax, eax
je 0x401e04
mov ebp, dword [0x441c78]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp + 0x18]
call fcn.00407bbb
jmp 0x401ddf
mov dword [0x441c24], 0
mov dword [0x441c28], 0
push dword [0x441c74]
call fcn.00413a8d
push dword [0x441c74]
call fcn.00413aa2
or eax, eax
je 0x4020a9
mov ebp, dword [0x441c78]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp + 0x18]
push dword [0x441c14]
fld dword [0x441c38]
push eax
fistp dword [esp]
push 0
call fcn.00407d8b
and eax, eax
je 0x4020a4
cmp dword [0x441c2c], 0
je 0x401e7a
push 6
call fcn.004051b5
mov ebx, dword [0x441c30]
and ebx, ebx
jle 0x401e9e
fld dword [0x441c50]
fcomp dword [0x4401c4]
fnstsw ax
test ah, 0x41
jne 0x401e9e
mov eax, 1
jmp 0x401ea0
xor eax, eax
and eax, eax
je 0x401f04
fld dword [0x441c38]
fiadd dword [0x441bec]
mov ebp, dword [0x441c78]
fisub dword [ebp + 8]
fadd qword [0x4401cc]
fabs
fild dword [0x441c14]
fiadd dword [0x441bec]
fisub dword [ebp + 0xc]
fadd qword [0x4401cc]
fabs
fcompp
fnstsw ax
test ah, 0x41
jne 0x401ef1
fld dword [0x441c50]
fchs
fstp dword [0x441c50]
jmp 0x401eff
mov ebx, dword [0x441c30]
neg ebx
mov dword [0x441c30], ebx
jmp 0x4020a4
mov ebx, dword [0x441c30]
and ebx, ebx
jle 0x401f28
fld dword [0x441c50]
fcomp dword [0x4401c4]
fnstsw ax
test ah, 1
je 0x401f28
mov eax, 1
jmp 0x401f2a
xor eax, eax
and eax, eax
je 0x401f8e
fld dword [0x441c38]
mov ebp, dword [0x441c78]
fisub dword [ebp + 8]
fisub dword [0x441bf8]
fadd qword [0x4401cc]
fabs
fild dword [0x441c14]
fiadd dword [0x441bec]
fisub dword [ebp + 0xc]
fadd qword [0x4401cc]
fabs
fcompp
fnstsw ax
test ah, 0x41
jne 0x401f7b
fld dword [0x441c50]
fchs
fstp dword [0x441c50]
jmp 0x401f89
mov ebx, dword [0x441c30]
neg ebx
mov dword [0x441c30], ebx
jmp 0x4020a4
mov ebx, dword [0x441c30]
and ebx, ebx
jge 0x401fb2
fld dword [0x441c50]
fcomp dword [0x4401c4]
fnstsw ax
test ah, 0x41
jne 0x401fb2
mov eax, 1
jmp 0x401fb4
xor eax, eax
and eax, eax
je 0x402018
fld dword [0x441c38]
fiadd dword [0x441bec]
mov ebp, dword [0x441c78]
fisub dword [ebp + 8]
fadd qword [0x4401cc]
fabs
fild dword [0x441c14]
fisub dword [ebp + 0xc]
fisub dword [0x441bf4]
fadd qword [0x4401cc]
fabs
fcompp
fnstsw ax
test ah, 0x41
jne 0x402005
fld dword [0x441c50]
fchs
fstp dword [0x441c50]
jmp 0x402013
mov ebx, dword [0x441c30]
neg ebx
mov dword [0x441c30], ebx
jmp 0x4020a4
mov ebx, dword [0x441c30]
and ebx, ebx
jge 0x40203c
fld dword [0x441c50]
fcomp dword [0x4401c4]
fnstsw ax
test ah, 1
je 0x40203c
mov eax, 1
jmp 0x40203e
xor eax, eax
and eax, eax
je 0x40209f
fld dword [0x441c38]
mov ebp, dword [0x441c78]
fisub dword [ebp + 8]
fisub dword [0x441bf8]
fadd qword [0x4401cc]
fabs
fild dword [0x441c14]
fisub dword [ebp + 0xc]
fisub dword [0x441bf4]
fadd qword [0x4401cc]
fabs
fcompp
fnstsw ax
test ah, 0x41
jne 0x40208f
fld dword [0x441c50]
fchs
fstp dword [0x441c50]
jmp 0x40209d
mov ebx, dword [0x441c30]
neg ebx
mov dword [0x441c30], ebx
jmp 0x4020a4
jmp 0x401e7a
jmp 0x401e23
push dword [0x441c6c]
call fcn.00413a8d
push dword [0x441c6c]
call fcn.00413aa2
or eax, eax
je 0x4026f4
mov ebp, dword [0x441c70]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp + 0x18]
push dword [0x441c14]
fld dword [0x441c38]
push eax
fistp dword [esp]
push 0
call fcn.00407d8b
and eax, eax
je 0x4026ef
inc dword [0x441c40]
push 5
call fcn.0040782e
push eax
call fcn.0040b10f
and eax, eax
je 0x40216d
push dword [0x441c0c]
call fcn.0040b274
push dword [0x442074]
push 0
push 0xcccccc
mov edx, dword [0x442074]
push edx
push edx
mov eax, dword [0x441c40]
cdq
push edx
push eax
call fcn.00417c00
add dword [0x442074], 2
push 0
push 0
mov edx, dword [0x4405b8]
add dword [esp + 8], edx
call fcn.0040b174
pop dword [0x442074]
call fcn.0040b234
mov ebx, dword [0x441c30]
and ebx, ebx
jle 0x402191
fld dword [0x441c50]
fcomp dword [0x4401c4]
fnstsw ax
test ah, 0x41
jne 0x402191
mov eax, 1
jmp 0x402193
xor eax, eax
and eax, eax
je 0x4021f7
fld dword [0x441c38]
fiadd dword [0x441bec]
mov ebp, dword [0x441c70]
fisub dword [ebp + 8]
fadd qword [0x4401cc]
fabs
fild dword [0x441c14]
fiadd dword [0x441bec]
fisub dword [ebp + 0xc]
fadd qword [0x4401cc]
fabs
fcompp
fnstsw ax
test ah, 0x41
jne 0x4021e4
fld dword [0x441c50]
fchs
fstp dword [0x441c50]
jmp 0x4021f2
mov ebx, dword [0x441c30]
neg ebx
mov dword [0x441c30], ebx
jmp 0x402397
mov ebx, dword [0x441c30]
and ebx, ebx
jle 0x40221b
fld dword [0x441c50]
fcomp dword [0x4401c4]
fnstsw ax
test ah, 1
je 0x40221b
mov eax, 1
jmp 0x40221d
xor eax, eax
and eax, eax
je 0x402281
fld dword [0x441c38]
mov ebp, dword [0x441c70]
fisub dword [ebp + 8]
fisub dword [0x441bf8]
fadd qword [0x4401cc]
fabs
fild dword [0x441c14]
fiadd dword [0x441bec]
fisub dword [ebp + 0xc]
fadd qword [0x4401cc]
fabs
fcompp
fnstsw ax
test ah, 0x41
jne 0x40226e
fld dword [0x441c50]
fchs
fstp dword [0x441c50]
jmp 0x40227c
mov ebx, dword [0x441c30]
neg ebx
mov dword [0x441c30], ebx
jmp 0x402397
mov ebx, dword [0x441c30]
and ebx, ebx
jge 0x4022a5
fld dword [0x441c50]
fcomp dword [0x4401c4]
fnstsw ax
test ah, 0x41
jne 0x4022a5
mov eax, 1
jmp 0x4022a7
xor eax, eax
and eax, eax
je 0x40230b
fld dword [0x441c38]
fiadd dword [0x441bec]
mov ebp, dword [0x441c70]
fisub dword [ebp + 8]
fadd qword [0x4401cc]
fabs
fild dword [0x441c14]
fisub dword [ebp + 0xc]
fisub dword [0x441bf4]
fadd qword [0x4401cc]
fabs
fcompp
fnstsw ax
test ah, 0x41
jne 0x4022f8
fld dword [0x441c50]
fchs
fstp dword [0x441c50]
jmp 0x402306
mov ebx, dword [0x441c30]
neg ebx
mov dword [0x441c30], ebx
jmp 0x402397
mov ebx, dword [0x441c30]
and ebx, ebx
jge 0x40232f
fld dword [0x441c50]
fcomp dword [0x4401c4]
fnstsw ax
test ah, 1
je 0x40232f
mov eax, 1
jmp 0x402331
xor eax, eax
and eax, eax
je 0x402392
fld dword [0x441c38]
mov ebp, dword [0x441c70]
fisub dword [ebp + 8]
fisub dword [0x441bf8]
fadd qword [0x4401cc]
fabs
fild dword [0x441c14]
fisub dword [ebp + 0xc]
fisub dword [0x441bf4]
fadd qword [0x4401cc]
fabs
fcompp
fnstsw ax
test ah, 0x41
jne 0x402382
fld dword [0x441c50]
fchs
fstp dword [0x441c50]
jmp 0x402390
mov ebx, dword [0x441c30]
neg ebx
mov dword [0x441c30], ebx
jmp 0x402397
jmp 0x40216d
cmp dword [0x441c2c], 0
je 0x4023ca
mov ebp, dword [0x441c70]
push dword [ebp + 0x10]
mov ebx, 3
cmp ebx, dword [esp]
jne 0x4023bf
push 5
call fcn.004051b5
jmp 0x4023c9
push 1
call fcn.004051b5
pop eax
mov ebp, dword [0x441c70]
push dword [ebp + 0x10]
mov ebx, 3
cmp ebx, dword [esp]
jne 0x4025a7
mov ebp, dword [0x441c70]
mov eax, dword [ebp + 8]
mov dword [0x441c24], eax
mov eax, dword [ebp + 0xc]
mov dword [0x441c28], eax
push dword [ebp + 0x18]
call fcn.0040812e
push dword [0x441c6c]
call fcn.00413b64
mov dword [0x441c18], 0
jmp 0x402416
mov eax, 0x15
cmp eax, dword [0x441c18]
jl 0x402474
mov dword [0x441c1c], 0
jmp 0x40242f
mov eax, 0x1f
cmp eax, dword [0x441c1c]
jl 0x40246c
mov edx, dword [0x441c64]
imul edx, dword [0x441c18]
mov ebp, edx
push ebp
mov eax, dword [0x441c1c]
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x441c60]
mov dword [ebp], 0xffffffff
inc dword [0x441c1c]
jno 0x40242f
inc dword [0x441c18]
jno 0x402416
push dword [0x441c6c]
call fcn.00413a8d
push dword [0x441c6c]
call fcn.00413aa2
or eax, eax
je 0x4024eb
mov ebp, dword [0x441c70]
mov ebx, dword [ebp + 0x10]
cmp ebx, 3
jne 0x4024e9
mov ebp, dword [0x441c70]
mov ebx, dword [ebp + 8]
push dword [0x441bf8]
mov eax, ebx
pop ecx
cdq
idiv ecx
mov ebx, eax
inc ebx
mov edx, dword [0x441c64]
imul edx, ebx
mov ebp, edx
push ebp
mov ebp, dword [0x441c70]
mov ebx, dword [ebp + 0xc]
push dword [0x441bf4]
mov eax, ebx
pop ecx
cdq
idiv ecx
inc eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x441c60]
mov dword [ebp], 3
jmp 0x40247f
mov ebx, dword [0x441c28]
push dword [0x441bf4]
mov eax, ebx
pop ecx
cdq
idiv ecx
mov ebx, eax
inc ebx
push ebx
mov ebx, dword [0x441c24]
push dword [0x441bf8]
mov eax, ebx
pop ecx
cdq
idiv ecx
mov ebx, eax
inc ebx
push ebx
call fcn.00402e95
push dword [0x441c6c]
call fcn.00413a8d
push dword [0x441c6c]
call fcn.00413aa2
or eax, eax
je 0x4025a2
mov ebp, dword [0x441c70]
mov ebx, dword [ebp + 8]
push dword [0x441bf8]
mov eax, ebx
pop ecx
cdq
idiv ecx
mov ebx, eax
inc ebx
mov edx, dword [0x441c64]
imul edx, ebx
mov ebp, edx
push ebp
mov ebp, dword [0x441c70]
mov ebx, dword [ebp + 0xc]
push dword [0x441bf4]
mov eax, ebx
pop ecx
cdq
idiv ecx
inc eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x441c60]
mov ebx, dword [ebp]
cmp ebx, 0xc8
jle 0x4025a0
mov ebp, dword [0x441c70]
push dword [ebp + 0x18]
call fcn.0040812e
push dword [0x441c6c]
call fcn.00413b64
jmp 0x402527
jmp 0x402694
mov ebx, 5
cmp ebx, dword [esp]
jne 0x4025cf
mov ebp, dword [0x441c70]
push dword [ebp + 0x18]
call fcn.0040812e
push dword [0x441c6c]
call fcn.00413b64
jmp 0x402694
mov ebx, 6
cmp ebx, dword [esp]
jne 0x40261f
mov ebp, dword [0x441c70]
mov ebx, dword [ebp + 0x10]
dec ebx
mov dword [ebp + 0x10], ebx
push dword [ebp + 0x18]
call fcn.0040782e
push eax
call fcn.0040b10f
push 0xffff
mov ebx, dword [0x441bf4]
dec ebx
push ebx
mov ebx, dword [0x441bf8]
dec ebx
push ebx
push 0
push 0
call fcn.0040b1c9
call fcn.0040b234
jmp 0x402694
mov ebx, 7
cmp ebx, dword [esp]
jne 0x402671
mov ebp, dword [0x441c70]
mov ebx, dword [ebp + 0x10]
add ebx, 0xfffffffe
mov dword [ebp + 0x10], ebx
push dword [ebp + 0x18]
call fcn.0040782e
push eax
call fcn.0040b10f
push 0xff66ff
mov ebx, dword [0x441bf4]
dec ebx
push ebx
mov ebx, dword [0x441bf8]
dec ebx
push ebx
push 0
push 0
call fcn.0040b1c9
call fcn.0040b234
jmp 0x402694
mov ebx, 0xa
cmp ebx, dword [esp]
jne 0x402694
mov ebp, dword [0x441c70]
push dword [ebp + 0x18]
call fcn.0040812e
push dword [0x441c6c]
call fcn.00413b64
pop eax
push dword [0x441c6c]
call fcn.00413b72
and eax, eax
je 0x4026a8
xor eax, eax
jmp 0x4026ad
mov eax, 1
and eax, eax
je 0x4026ef
push 3
call fcn.00404edf
and eax, eax
je 0x4026d9
push dword [0x441c54]
push 3
call fcn.00404ef1
push 2
call fcn.004051b5
inc dword [0x441bf0]
push dword [0x441bf0]
call fcn.00402910
call fcn.00403668
jmp 0x4020b4
cmp dword [0x441c28], 0
jne 0x402708
cmp dword [0x441c24], 0
jne 0x402708
jmp 0x40270f
mov eax, 1
jmp 0x402711
xor eax, eax
and eax, eax
je 0x4027b9
push dword [0x441c6c]
call fcn.00413a8d
push dword [0x441c6c]
call fcn.00413aa2
or eax, eax
je 0x40275f
mov ebp, dword [0x441c70]
mov ebx, dword [ebp + 0x10]
cmp ebx, 0x14d
jne 0x40275d
mov ebp, dword [0x441c70]
push dword [ebp + 0x18]
call fcn.0040812e
push dword [0x441c6c]
call fcn.00413b64
jmp 0x402724
push dword [0x441c6c]
call fcn.00413b72
and eax, eax
je 0x402772
xor eax, eax
jmp 0x402777
mov eax, 1
and eax, eax
je 0x4027b9
push 3
call fcn.00404edf
and eax, eax
je 0x4027a3
push dword [0x441c54]
push 3
call fcn.00404ef1
push 2
call fcn.004051b5
inc dword [0x441bf0]
push dword [0x441bf0]
call fcn.00402910
call fcn.00403668
mov ebx, dword [0x441c00]
add ebx, 0xfffffff1
push ebx
mov ebx, dword [0x441c44]
add ebx, 0xffffffbf
push ebx
push 1
push dword [0x441c14]
fld dword [0x441c38]
push eax
fistp dword [esp]
push 0
call fcn.00407d8b
and eax, eax
je 0x40286d
cmp dword [0x441c2c], 0
je 0x402803
push 0
call fcn.004051b5
mov ebx, dword [0x441c30]
neg ebx
mov dword [0x441c30], ebx
fld dword [0x441c38]
fisub dword [0x441c44]
fadd dword [0x4401c4]
fmul dword [0x4401c8]
fstp dword [0x441c50]
fld dword [0x441c50]
fabs
fcomp qword [str.333333]
fnstsw ax
test ah, 1
je 0x40286d
fld dword [0x441c50]
fcomp dword [0x4401c4]
fnstsw ax
test ah, 1
je 0x402863
mov dword [0x441c50], 0xbf19999a
jmp 0x40286d
mov dword [0x441c50], 0x3f19999a
push 2
call fcn.00406583
and eax, eax
je 0x40287d
jmp 0x402891
call fcn.00406b32
push 0xa
call fcn.00409752
jmp 0x401a3a
push 0
call 0x4028b0
call fcn.00418e80
push dword [0x441be0]
call sub.KERNEL32.dll_HeapDestroy
call sub.KERNEL32.dll_ExitProcess
call fcn.00404e56
call fcn.00405679
call fcn.00405f22
call fcn.0040621d
call fcn.00406dad
call fcn.00407409
call fcn.00408b7a
call fcn.00408c43
call fcn.00409624
call fcn.00409f8b
call fcn.0040a060
call fcn.0040ab26
call fcn.004136cb
call fcn.004146d3
call fcn.00417830
call fcn.004185b8
call fcn.004185c4
call fcn.00408aef
call fcn.00418300
ret