Function at 0x40dc90
Capabilities:
Check for time delay via gettickcount

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov ebp, ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xf8]
add eax, 0x800
mov ecx, 0x8000
mov dword [ebp + 0xfc], eax
mov edi, dword [ebp + 0x440]
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0xf8]
mov edi, dword [ebp + 0x440]
mov esi, dword [ebp + 0x448]
mov edx, ecx
add edi, 0x800
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0xf8]
xor ecx, ecx
test eax, eax
jle 0x40dd17
mov edx, dword [ebp + 0x448]
cmp byte [edx + ecx], 0xff
jne 0x40dd07
inc ecx
cmp ecx, eax
jl 0x40dcfc
cmp ecx, 0x10000
mov dword [esp + 0x14], 0x10000
jg 0x40dd1b
mov dword [esp + 0x14], ecx
mov ebx, dword [ebp + 0x440]
mov edi, eax
mov eax, 0x1b4e81b5
mov dword [esp + 0x18], edi
mov word [ebx], 0xa55a
mov ecx, dword [ebp + 0xe0]
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov byte [ebx + 0xa], dl
mov cl, byte [ebp + 0xe8]
mov byte [ebx + 0xb], cl
mov edx, dword [ebp + 0x118]
shl edx, 5
mov ax, word [edx + 0x41d488]
push eax
call fcn.0041be10
mov word [ebx + 0xc], ax
mov ecx, dword [ebp + 0x118]
shl ecx, 5
mov dx, word [ecx + 0x41d48a]
push edx
call fcn.0041be10
mov word [ebx + 0xe], ax
mov byte [ebx + 0x10], 0
mov byte [ebx + 0x11], 0
mov byte [ebx + 0x12], 0
mov byte [ebx + 0x13], 0
mov eax, dword [ebp + 0xf4]
push eax
call fcn.0041bdf0
mov dword [ebx + 0x14], eax
mov ecx, dword [ebp + 0x110]
push ecx
call fcn.0041bdf0
mov dword [ebx + 0x18], eax
fild dword [ebp + 0xf4]
fmul dword [ebp + 0x1b8]
call sub.MSVCRT.dll__ftol
push eax
call fcn.0041bdf0
mov dword [ebx + 0x1a3], eax
mov al, byte [ebx + 0x10]
or al, 0x20
mov byte [ebx + 0x10], al
mov edx, dword [ebp + 0x164]
push edx
call fcn.0041bdf0
mov dword [ebx + 0x1c], eax
mov ecx, dword [ebp + 0x454]
lea eax, [ebx + 0x20]
add esp, 0x18
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp + 0x118]
shl edx, 5
mov eax, dword [edx + 0x41d480]
mov ecx, eax
and ecx, 0x7f8000
cmp ecx, 0x168000
jb 0x40de2e
test al, 8
jne 0x40de2e
mov byte [ebx + 0x23], 0xff
mov al, byte [ebp + 0x2f]
test al, al
je 0x40de54
mov al, byte [ebx + 0x10]
lea edi, [ebx + 0x300]
or al, 1
mov ecx, 0x40
mov byte [ebx + 0x10], al
mov esi, dword [ebp + 0x450]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x18]
mov al, byte [ebp + 0x27]
test al, al
je 0x40de5f
or byte [ebx + 0x10], 2
mov edx, dword [ebp + 0x454]
test byte [edx + 0x10], 1
jne 0x40dec9
mov al, byte [ebx + 0x10]
or al, 4
mov byte [ebx + 0x10], al
mov ecx, dword [ebp + 0x454]
test byte [ecx + 0x10], 2
jne 0x40de88
and eax, 0xff
or al, 8
jmp 0x40de8f
and eax, 0xff
and al, 0xf7
mov byte [ebx + 0x10], al
mov edx, dword [ebp + 0x454]
test byte [edx + 0x10], 4
jne 0x40dea7
and eax, 0xff
or al, 0x10
jmp 0x40deae
and eax, 0xff
and al, 0xef
mov byte [ebx + 0x10], al
mov eax, dword [ebp + 0x454]
mov cl, byte [eax + 0x11]
mov byte [ebx + 0x30], cl
mov edx, dword [ebp + 0x454]
mov al, byte [edx + 0x12]
mov byte [ebx + 0x31], al
mov eax, dword [ebp + 0xec]
test eax, eax
je 0x40ded7
or byte [ebx + 0x10], 0x40
mov ecx, dword [ebp + 0x118]
shl ecx, 5
test byte [ecx + 0x41d480], 0x20
je 0x40deed
or byte [ebx + 0x10], 0x80
mov dl, byte [ebp + 0x108]
mov byte [ebx + 0x32], dl
mov eax, dword [ebp + 0x118]
shl eax, 5
mov ecx, dword [eax + 0x41d480]
shr ecx, 0xf
mov byte [ebx + 0x33], cl
mov al, byte [ebp + 0x32]
test al, al
je 0x40df85
mov eax, dword [ebp + 0x88]
mov esi, dword [esp + 0x14]
cmp esi, eax
jl 0x40df26
mov esi, eax
mov dword [esp + 0x14], esi
mov edx, dword [ebp + 0x90]
add eax, edx
cmp edi, eax
jg 0x40df38
mov edi, eax
mov dword [esp + 0x18], edi
mov dl, byte [ebx + 0x11]
or dl, 1
mov byte [ebx + 0x11], dl
mov eax, dword [ebp + 0x88]
push eax
call fcn.0041bdf0
mov dword [ebx + 0x34], eax
mov cl, byte [ebp + 0x90]
lea edx, [ebp + 0x48]
push 0x10
lea eax, [ebx + 0x40]
push edx
push eax
mov byte [ebx + 0x3c], cl
call fcn.0041bdc0
lea ecx, [ebp + 0x68]
push 0x10
lea edx, [ebx + 0x60]
push ecx
push edx
call fcn.0041bdc0
mov al, byte [ebp + 0x98]
add esp, 0x1c
mov byte [ebx + 0x3e], al
jmp 0x40df89
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x33]
test al, al
je 0x40dffd
mov eax, dword [ebp + 0x8c]
cmp esi, eax
jl 0x40dfa0
mov esi, eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebp + 0x94]
add eax, ecx
cmp edi, eax
jg 0x40dfb2
mov edi, eax
mov dword [esp + 0x18], edi
mov cl, byte [ebx + 0x11]
or cl, 2
mov byte [ebx + 0x11], cl
mov edx, dword [ebp + 0x8c]
push edx
call fcn.0041bdf0
lea ecx, [ebp + 0x58]
mov dword [ebx + 0x38], eax
mov al, byte [ebp + 0x94]
push 0x10
lea edx, [ebx + 0x50]
push ecx
push edx
mov byte [ebx + 0x3d], al
call fcn.0041bdc0
lea eax, [ebp + 0x78]
push 0x10
lea ecx, [ebx + 0x70]
push eax
push ecx
call fcn.0041bdc0
mov dl, byte [ebp + 0x9c]
add esp, 0x1c
mov byte [ebx + 0x3f], dl
mov al, byte [ebp + 0x29]
test al, al
je 0x40e008
or byte [ebx + 0x11], 4
mov al, byte [ebp + 0x2a]
test al, al
jne 0x40e013
or byte [ebx + 0x12], 4
mov al, byte [ebp + 0x30]
test al, al
jne 0x40e01e
or byte [ebx + 0x11], 0x10
mov al, byte [ebp + 0x2b]
test al, al
je 0x40e029
or byte [ebx + 0x12], 8
mov al, byte [ebp + 0x2c]
test al, al
jne 0x40e034
or byte [ebx + 0x12], 0x10
mov eax, dword [ebp + 0x118]
shl eax, 5
test byte [eax + 0x41d480], 4
je 0x40e04a
or byte [ebx + 0x12], 0x20
mov cl, byte [ebp + 0xf0]
mov byte [ebx + 0x80], cl
mov al, byte [ebp + 0x39]
test al, al
je 0x40e153
mov eax, dword [ebp + 0xd0]
cmp esi, eax
jl 0x40e06f
mov dword [esp + 0x14], eax
mov edx, dword [ebp + 0xcc]
add eax, edx
cmp edi, eax
jg 0x40e07f
mov dword [esp + 0x18], eax
mov al, byte [ebx + 0x11]
or al, 0x40
mov byte [ebx + 0x11], al
mov ecx, dword [ebp + 0xb8]
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov byte [ebx + 0xa3], dl
mov ecx, dword [ebp + 0xc4]
cmp ecx, 0x20
jle 0x40e0b4
mov ecx, 0x20
mov byte [ebx + 0xa4], cl
mov esi, dword [ebp + 0x458]
and ecx, 0xff
lea edi, [ebx + 0xa5]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0xcc]
cmp eax, 0x800
jle 0x40e0ec
mov eax, 0x800
push eax
mov word [ebx + 0xe5], ax
call fcn.0041be10
mov word [ebx + 0xe5], ax
mov eax, dword [ebp + 0xd0]
push eax
call fcn.0041bdf0
mov dword [ebx + 0xe7], eax
mov ecx, dword [ebp + 0xc8]
add esp, 8
cmp ecx, 0x1f
jle 0x40e125
mov ecx, 0x1f
mov byte [ebx + 0xc5], cl
mov esi, dword [ebp + 0x45c]
and ecx, 0xff
lea edi, [ebx + 0xc6]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0xcab]
test al, al
jne 0x40e17f
mov al, byte [ebp + 0xcac]
test al, al
jne 0x40e17f
mov al, byte [ebp + 0xcad]
test al, al
jne 0x40e17f
mov al, byte [ebp + 0xcae]
test al, al
je 0x40e2bd
mov cl, byte [ebx + 0x11]
or cl, 8
mov byte [ebx + 0x11], cl
mov al, byte [ebp + 0xcaf]
mov byte [ebx + 0xeb], al
mov cl, byte [ebp + 0xcb0]
mov byte [ebx + 0xec], cl
mov dl, byte [ebp + 0xcb1]
mov byte [ebx + 0xed], dl
mov al, byte [ebp + 0xcb2]
lea ecx, [ebp + 0xcb3]
mov byte [ebx + 0xee], al
lea edx, [ebx + 0xef]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp + 0xcc3]
push edx
call fcn.0041bdf0
mov dword [ebx + 0xff], eax
mov eax, dword [ebp + 0xcc7]
push eax
call fcn.0041bdf0
mov dword [ebx + 0x103], eax
mov ecx, dword [ebp + 0xccb]
push ecx
call fcn.0041bdf0
mov dword [ebx + 0x107], eax
mov edx, dword [ebp + 0xccf]
push edx
call fcn.0041bdf0
mov dword [ebx + 0x10b], eax
mov al, byte [ebp + 0xcab]
add esp, 0x10
test al, al
je 0x40e24c
mov eax, dword [ebp + 0xcc3]
cmp esi, eax
jl 0x40e23f
mov esi, eax
mov dword [esp + 0x14], esi
add eax, 7
cmp edi, eax
jg 0x40e24c
mov edi, eax
mov dword [esp + 0x18], edi
mov al, byte [ebp + 0xcac]
test al, al
je 0x40e273
mov eax, dword [ebp + 0xcc7]
cmp esi, eax
jl 0x40e266
mov esi, eax
mov dword [esp + 0x14], esi
add eax, 7
cmp edi, eax
jg 0x40e273
mov edi, eax
mov dword [esp + 0x18], edi
mov al, byte [ebp + 0xcad]
test al, al
je 0x40e29a
mov eax, dword [ebp + 0xccb]
cmp esi, eax
jl 0x40e28d
mov esi, eax
mov dword [esp + 0x14], esi
add eax, 7
cmp edi, eax
jg 0x40e29a
mov edi, eax
mov dword [esp + 0x18], edi
mov al, byte [ebp + 0xcae]
test al, al
je 0x40e2bd
mov eax, dword [ebp + 0xccf]
cmp esi, eax
jl 0x40e2b2
mov dword [esp + 0x14], eax
add eax, 7
cmp edi, eax
jg 0x40e2bd
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x118]
shl eax, 5
mov ecx, dword [eax + 0x41d48c]
push ecx
call fcn.0041bdf0
mov dword [ebx + 0x10f], eax
mov eax, dword [ebp + 0x118]
shl eax, 5
mov edx, dword [eax + 0x41d490]
mov edi, dword [eax + 0x41d48c]
add edx, edi
push edx
call fcn.0041bdf0
mov dword [ebx + 0x113], eax
mov eax, dword [ebp + 0x168]
add esp, 8
cmp eax, 0x10
jle 0x40e30e
mov eax, 0x10
mov cl, 0xa
imul cl
test al, al
mov byte [ebx + 0x117], al
jne 0x40e323
mov byte [ebx + 0x117], 0x32
mov al, byte [ebp + 0xcd3]
test al, al
je 0x40e387
mov dl, byte [ebp + 0xcd4]
lea esi, [ebp + 0xcdc]
mov byte [ebx + 0x118], dl
mov al, byte [ebp + 0xcd8]
mov byte [ebx + 0x119], al
mov ecx, dword [ebp + 0xcd4]
mov edx, ecx
lea edi, [ebx + 0x11a]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0xcd8]
lea esi, [ebp + 0xddc]
mov eax, ecx
lea edi, [ebx + 0x15a]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x40e395
mov byte [ebx + 0x118], 0
mov byte [ebx + 0x119], 0
mov ecx, dword [ebp + 0x454]
test byte [ecx + 0xf], 2
je 0x40e3e2
mov eax, dword [ebp + 0x118]
shl eax, 5
mov ecx, dword [eax + 0x41d480]
and ecx, 0x7f8000
cmp ecx, 0x168000
jae 0x40e3d0
mov eax, dword [eax + 0x41d48c]
mov edx, dword [esp + 0x18]
cmp edx, eax
jg 0x40e3d0
mov dword [esp + 0x18], eax
cmp ecx, 0xc8000
jb 0x40e3de
or byte [ebx + 0x11], 0x80
jmp 0x40e3e2
or byte [ebx + 0x12], 1
mov al, byte [ebp + 0x3a]
test al, al
je 0x40e411
mov eax, dword [ebp + 0x118]
shl eax, 5
test byte [eax + 0x41d480], 8
je 0x40e40d
mov edx, dword [eax + 0x41d498]
sub edx, 0x800
mov dword [ebx + 0x113], edx
or byte [ebx + 0x12], 2
mov al, byte [ebp + 0x184]
mov esi, dword [esp + 0x18]
mov byte [ebx + 0x19a], al
mov cl, byte [ebp + 0x188]
mov byte [ebx + 0x19b], cl
mov dl, byte [ebp + 0x18c]
mov byte [ebx + 0x19c], dl
mov eax, dword [ebp + 0x448]
push 0
push esi
push eax
mov ecx, ebp
call fcn.00401890
push eax
call fcn.0041be10
mov word [ebx + 4], ax
mov ecx, dword [ebp + 0x118]
lea eax, [esi + 0x7f]
mov edi, dword [esp + 0x18]
cdq
and edx, 0x7f
push 3
add eax, edx
push 0x42f6c4
mov esi, eax
and edi, 0xfffffe00
shl ecx, 5
sar esi, 7
mov edx, dword [ecx + 0x41d484]
shl esi, 7
push edx
mov dword [esp + 0x28], esi
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0x10
test eax, eax
je 0x40e4ab
mov eax, dword [ebp + 0x118]
shl eax, 5
cmp word [eax + 0x41d488], 0xf55f
jne 0x40e4ce
mov eax, dword [ebp + 0x118]
xor ecx, ecx
shl eax, 5
mov cl, byte [eax + 0x41d49c]
mov eax, dword [eax + 0x41d48c]
sub eax, ecx
cmp esi, eax
jl 0x40e4ce
mov esi, eax
mov dword [esp + 0x18], esi
push esi
call fcn.0041bdf0
push edi
mov dword [ebx + 6], eax
call fcn.0041bdf0
mov dword [ebx + 0x19d], eax
mov al, byte [ebp + 0x25]
add esp, 8
test al, al
je 0x40e669
mov edx, dword [ebp + 0xec]
mov al, byte [ebp + 0x108]
neg edx
sbb dl, dl
lea ecx, [esp + 0x15]
and dl, 2
push ecx
push 2
add dl, 3
push 0
push 0x40
mov ecx, ebp
mov byte [esp + 0x24], 0xff
mov byte [esp + 0x25], dl
mov byte [esp + 0x26], al
call fcn.00410600
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [esp + 0x13]
mov ecx, ebp
push edx
push 1
push 0
push 1
mov byte [esp + 0x23], 4
call fcn.00410600
mov eax, dword [ebp + 0x168]
mov ecx, ebp
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
push eax
call fcn.00402160
push 1
push 0
mov ecx, ebp
call fcn.00401ef0
mov al, byte [ebp + 0x23]
test al, al
je 0x40e87e
mov ecx, ebp
call fcn.00402180
test al, al
jne 0x40e88b
lea ecx, [ebp + 0x481]
push 1
push ecx
mov ecx, ebp
call fcn.00401ef0
test al, al
je 0x40e56a
mov al, byte [ebp + 0x25]
test al, al
je 0x40e5b6
mov eax, dword [ebp + 0x1c4]
test eax, eax
je 0x40e5b6
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14
ret
xor eax, eax
lea edi, [ebp + 0x481]
mov al, byte [ebp + 0x482]
lea esi, [ebx + 0x1a1]
mov ah, byte [edi]
push eax
call fcn.0041be10
add esp, 4
mov word [esi], ax
mov dl, byte [ebp + 0x16c]
mov ecx, ebp
push esi
mov byte [ebx + 0x1a7], dl
mov al, byte [ebp + 0x170]
push 2
push 0
push 2
mov byte [ebx + 0x1a8], al
call fcn.00410600
mov eax, dword [ebp + 0x168]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
shl ecx, 3
push ecx
mov ecx, ebp
call fcn.00402160
push 1
push 0
mov ecx, ebp
call fcn.00401ef0
mov al, byte [ebp + 0x23]
test al, al
je 0x40e87e
mov ecx, ebp
call fcn.00402180
test al, al
jne 0x40e88b
push 1
push edi
mov ecx, ebp
call fcn.00401ef0
test al, al
je 0x40e623
mov al, byte [ebp + 0x25]
test al, al
je 0x40e669
mov eax, dword [ebp + 0x1c4]
test eax, eax
je 0x40e669
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14
ret
mov edx, dword [ebp + 0x440]
push 4
push 0x3fc
push edx
mov ecx, ebp
call fcn.00401890
push eax
call fcn.0041be10
mov word [ebx + 2], ax
mov eax, dword [esp + 0x1c]
add esp, 4
add eax, 0x800
mov ecx, ebp
mov dword [ebp + 0xfc], eax
push 0x2342
call fcn.004016c0
push eax
push ebp
call fcn.00401700
add esp, 8
mov ecx, ebp
push 0
push 0
call fcn.00401830
mov eax, dword [ebp + 0xfc]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x14], eax
mov byte [ebp + 0x881], 0xf4
jle 0x40e82b
jmp 0x40e6dc
mov eax, dword [esp + 0x14]
mov cl, byte [ebp + 0x25]
test cl, cl
je 0x40e6f5
cmp eax, 0x38
jge 0x40e6ee
mov byte [esp + 0x18], al
jmp 0x40e705
mov byte [esp + 0x18], 0x38
jmp 0x40e705
cmp eax, 0x80
mov byte [esp + 0x18], al
jl 0x40e705
mov byte [esp + 0x18], 0x80
test cl, cl
je 0x40e723
mov ecx, dword [ebp + 0x440]
mov esi, dword [esp + 0x18]
add ecx, ebx
push ecx
push esi
push ebx
push 0x49
mov ecx, ebp
call fcn.00410600
jmp 0x40e771
mov esi, dword [ebp + 0x440]
mov edx, ebx
xor eax, eax
add esi, ebx
shr edx, 0x10
mov al, bh
lea edi, [ebp + 0x885]
mov ecx, 0x20
mov byte [ebp + 0x882], dl
mov byte [ebp + 0x883], al
mov byte [ebp + 0x884], bl
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x18]
lea eax, [ebp + 0x881]
mov ecx, esi
and ecx, 0xff
add ecx, 4
push ecx
push eax
mov ecx, ebp
call fcn.00401d50
push 0x7d0
mov ecx, ebp
call fcn.00402160
push 1
push 0
mov ecx, ebp
call fcn.00401ef0
mov al, byte [ebp + 0x23]
test al, al
je 0x40e87e
mov ecx, ebp
call fcn.00402180
test al, al
jne 0x40e88b
lea edx, [ebp + 0x481]
push 1
push edx
mov ecx, ebp
call fcn.00401ef0
test al, al
je 0x40e788
mov al, byte [ebp + 0x25]
test al, al
je 0x40e7e0
mov ecx, dword [ebp + 0x1c4]
test ecx, ecx
jne 0x40e65c
test al, al
je 0x40e7e0
cmp byte [ebp + 0x481], 0x54
je 0x40e801
test al, al
jne 0x40e65c
mov al, byte [ebp + 0x481]
mov cl, byte [ebp + 0x881]
cmp al, cl
jne 0x40e65c
cmp byte [ebp + 0x482], 0x54
jne 0x40e65c
mov ecx, dword [ebp + 0xfc]
push ecx
push ebx
mov ecx, ebp
call fcn.00401830
mov ecx, dword [esp + 0x14]
mov eax, esi
and eax, 0xff
sub ecx, eax
add ebx, eax
test ecx, ecx
mov dword [esp + 0x14], ecx
jg 0x40e6d8
push 0
push 0
mov ecx, ebp
call fcn.00401830
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x20], 0
sub eax, ebx
sub esp, 8
mov dword [esp + 0x24], eax
mov ecx, ebp
fild qword [esp + 0x24]
fmul dword [0x4261d4]
fstp qword [esp]
push 0x233f
call fcn.004016c0
push eax
push ebp
call fcn.00401700
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x14
ret
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x14
ret