Function at 0x452270
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa50
push ebx
push ebp
push esi
mov esi, ecx
push edi
test esi, esi
je 0x452f7c
cmp dword [esi + 0x52c], 0xffffffff
je 0x452f7c
mov eax, dword [esi + 8]
lea ecx, [eax + 0x80918]
call fcn.0046f4f8
mov ecx, eax
call fcn.004741a6
fstp dword [esp + 0x1c]
fld1
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x94]
fld dword [esp + 0x28]
fst dword [esp + 4]
fstp dword [esp]
push eax
call fcn.00480011
fldz
mov eax, dword [esi + 8]
fst dword [esp + 0x7c]
fst dword [esp + 0x78]
add esp, 0x10
fst dword [esp + 0x64]
push 2
fst dword [esp + 0x64]
push 2
fst dword [esp + 0x64]
push 0
fst dword [esp + 0x64]
lea ecx, [eax + 0x80918]
fst dword [esp + 0x60]
fst dword [esp + 0x5c]
fst dword [esp + 0x58]
fst dword [esp + 0x54]
fst dword [esp + 0x50]
fst dword [esp + 0x4c]
fst dword [esp + 0x48]
fst dword [esp + 0x44]
fst dword [esp + 0x40]
fstp dword [esp + 0x3c]
call fcn.0046f4f8
mov ecx, eax
call fcn.00475f32
fldz
mov ecx, dword [esi + 8]
fst dword [esp + 0x20]
mov edx, dword [ecx + 0x138d4]
fstp dword [esp + 0x24]
mov eax, dword [ecx + 0x138d8]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x52c]
sub eax, 1
fstp dword [esp + 0x28]
fild dword [esp + 0x18]
fstp dword [esp + 0x2c]
je 0x452a63
sub eax, 1
je 0x45287d
sub eax, 1
jne 0x452f61
mov edx, dword [esi + 0x4e8]
mov eax, dword [edx + 4]
lea ebx, [esi + 0x4e8]
mov ecx, ebx
call eax
mov ecx, eax
imul ecx, ecx, 0x96
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x20]
mov eax, ecx
mov ecx, dword [esi + 8]
shl eax, 0x18
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x40]
add ecx, 0x80918
mov dword [eax + 0xc], edx
call fcn.0046f4f8
push eax
call fcn.004f15be
mov eax, dword [ebx]
mov edx, dword [eax + 4]
add esp, 0x18
mov ecx, ebx
call edx
mov edi, eax
mov eax, dword [ebx]
mov edx, dword [eax + 4]
shl edi, 0x18
mov ecx, ebx
or edi, 0xffffff
call edx
mov ecx, 0xff
sub ecx, eax
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
lea ecx, [esp + 0xc8]
fmul qword [0x6cff78]
fdiv qword [0x6cfe68]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld qword [0x6cfda0]
fld st(0)
fsubrp st(2)
fdivp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x548]
fst dword [esi + 0x544]
fld dword [esp + 0x1c]
fld qword [0x6cff10]
fmul st(1)
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fmul qword [0x6cfc60]
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
fld1
push edx
push eax
sub esp, 0xc
fst dword [esp + 8]
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
push ecx
call fcn.00480176
fldz
add esp, 0xc
fst dword [esp + 8]
lea edx, [esp + 0x76c]
fst dword [esp + 4]
fstp dword [esp]
push edx
call fcn.0047ffaa
add esp, 0x10
push eax
lea ecx, [esp + 0x34]
call fcn.0040a520
fldz
mov ebp, dword [esi + 0xb8]
push edi
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0x3c]
fstp dword [esp]
push eax
lea ecx, [esp + 0x5f0]
push ecx
lea ebx, [esi + 0xb8]
lea ecx, [esp + 0x9c]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, ebx
call edx
fldz
sub esp, 0xc
fst dword [esp + 8]
fld dword [esp + 0x28]
lea eax, [esp + 0x1ec]
fmul qword [0x6cfe90]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fstp dword [esp]
push eax
call fcn.0047ffaa
add esp, 0x10
push eax
lea ecx, [esp + 0x34]
call fcn.0040a520
fldz
mov ebp, dword [esi + 0x14c]
push edi
sub esp, 8
fst dword [esp + 4]
lea ecx, [esp + 0x3c]
fstp dword [esp]
push ecx
lea edx, [esp + 0x9f0]
lea ebx, [esi + 0x14c]
push edx
lea ecx, [esp + 0x9c]
call fcn.0040f290
push eax
mov eax, dword [ebp + 0x5c]
mov ecx, ebx
call eax
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x28]
lea ecx, [esp + 0x26c]
fld qword [0x6cff70]
fmul st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fmul qword [0x6cfbb8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push ecx
call fcn.0047ffaa
add esp, 0x10
push eax
lea ecx, [esp + 0x34]
call fcn.0040a520
mov eax, dword [esi + 0x528]
fldz
push edi
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
test eax, eax
jne 0x45260e
mov ebp, dword [esi + 0xc]
lea edx, [esp + 0xd4]
push edx
lea eax, [esp + 0x670]
push eax
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x2f8]
lea ebx, [esi + 0xc]
push edx
lea ecx, [esp + 0xa4]
call fcn.0040f290
mov ecx, eax
call fcn.0040f290
push eax
mov eax, dword [ebp + 0x5c]
mov ecx, ebx
call eax
jmp 0x452651
lea ecx, [esp + 0xd4]
push ecx
lea edx, [esp + 0x870]
lea ebp, [eax - 1]
push edx
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x378]
push ecx
lea ecx, [esp + 0xa4]
xor ebx, ebx
call fcn.0040f290
mov ecx, eax
call fcn.0040f290
push eax
push ebp
push ebx
lea ecx, [esi + 0xa0]
call fcn.004c3f68
fld dword [0x6d0424]
xor ebx, ebx
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
fld dword [0x6d0230]
mov dword [esp + 0x70], edx
fst dword [esp + 0x18]
mov eax, dword [esp + 0x18]
fld dword [0x6d0420]
mov dword [esp + 0x74], eax
fstp dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], ecx
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
fld dword [0x6d041c]
mov dword [esp + 0x7c], edx
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fld dword [0x6cff60]
mov dword [esp + 0x80], eax
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x84], ecx
mov ecx, dword [esi + 0x344]
sub ecx, dword [esi + 0x340]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x452f61
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea ecx, [esp + 0x6ec]
fld dword [esp + ebx*8 + 0x80]
fld dword [esp + 0x28]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fmul dword [esp + ebx*8 + 0x7c]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push ecx
call fcn.0047ffaa
add esp, 0x10
push eax
lea ecx, [esp + 0x34]
call fcn.0040a520
cmp ebx, 2
jne 0x4527d7
lea ebp, [esi + 0x334]
push ebx
mov eax, ebp
call fcn.0044fd00
cmp dword [eax], 0
je 0x45279e
push ebx
mov eax, ebp
call fcn.0044fd00
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x64]
call eax
test al, al
je 0x45279e
fldz
push edi
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x3f0]
push edx
lea ecx, [esp + 0x9c]
xor ebp, ebp
call fcn.0040f290
push eax
mov eax, ebx
push eax
push ebp
lea ecx, [esi + 0x318]
jmp 0x45284b
fldz
push edi
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x970]
xor ebp, ebp
push ecx
lea ecx, [esp + 0x9c]
mov dword [esp + 0x38], ebp
call fcn.0040f290
push eax
mov edx, ebp
push edx
push ebp
lea ecx, [esi + 0x318]
jmp 0x45284b
fldz
push edi
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
cmp dword [esi + 0x534], ebx
jne 0x452810
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x470]
push ecx
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x138]
mov ebp, 3
push eax
jmp 0x45282f
lea ecx, [esp + 0xd4]
push ecx
lea edx, [esp + 0x4f0]
push edx
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x8f8]
xor ebp, ebp
push ecx
lea ecx, [esp + 0xa4]
call fcn.0040f290
mov ecx, eax
call fcn.0040f290
push eax
push ebp
lea ecx, [esi + 0x274]
push ebx
call fcn.004c3f68
mov ecx, dword [esi + 0x344]
sub ecx, dword [esi + 0x340]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
cmp ebx, eax
jl 0x4526e6
jmp 0x452f61
mov edx, dword [esp + 0x20]
push 0x96000000
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x40]
add ecx, 0x80918
mov dword [eax + 0xc], edx
call fcn.0046f4f8
push eax
call fcn.004f15be
fldz
add esp, 0xc
fst dword [esp + 8]
fst dword [esp + 4]
lea eax, [esp + 0x56c]
fstp dword [esp]
push eax
call fcn.0047ffaa
add esp, 0x10
push eax
lea ecx, [esp + 0x34]
call fcn.0040a520
fldz
mov ebx, dword [esi + 0xb8]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea ecx, [esp + 0x3c]
fstp dword [esp]
push ecx
lea edx, [esp + 0x7f0]
lea edi, [esi + 0xb8]
push edx
lea ecx, [esp + 0x9c]
call fcn.0040f290
push eax
mov eax, dword [ebx + 0x5c]
mov ecx, edi
call eax
fldz
sub esp, 0xc
fst dword [esp + 8]
fld dword [esp + 0x28]
lea ecx, [esp + 0x16c]
fmul qword [0x6cfe90]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fstp dword [esp]
push ecx
call fcn.0047ffaa
add esp, 0x10
push eax
lea ecx, [esp + 0x34]
call fcn.0040a520
fldz
mov ebx, dword [esi + 0x14c]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x3c]
fstp dword [esp]
push edx
lea eax, [esp + 0x1b0]
lea edi, [esi + 0x14c]
push eax
lea ecx, [esp + 0x9c]
call fcn.0040f290
mov edx, dword [ebx + 0x5c]
push eax
mov ecx, edi
call edx
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x28]
fld qword [0x6cff70]
lea eax, [esp + 0x22c]
fmul st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fmul qword [0x6cfbb8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push eax
call fcn.0047ffaa
add esp, 0x10
push eax
lea ecx, [esp + 0x34]
call fcn.0040a520
fldz
mov eax, dword [esi + 0x528]
push 0xffffffffffffffff
sub esp, 8
fst dword [esp + 4]
lea ecx, [esp + 0x3c]
fstp dword [esp]
push ecx
lea ecx, [esp + 0x98]
test eax, eax
jne 0x452a1c
mov ebx, dword [esi + 0xc]
lea edx, [esp + 0x2b0]
lea edi, [esi + 0xc]
push edx
call fcn.0040f290
push eax
mov eax, dword [ebx + 0x5c]
mov ecx, edi
call eax
jmp 0x452a3c
lea edx, [esp + 0x330]
push edx
xor edi, edi
lea ebx, [eax - 1]
call fcn.0040f290
push eax
push ebx
push edi
lea ecx, [esi + 0xa0]
call fcn.004c3f68
lea eax, [esp + 0x88]
push eax
lea edi, [esi + 0x328]
push edi
call fcn.0044f5d0
lea ecx, [esp + 0x88]
push ecx
push edi
call fcn.0044f8a0
jmp 0x452f61
mov edx, dword [esi + 0x4e8]
mov eax, dword [edx + 4]
lea edi, [esi + 0x4e8]
mov ecx, edi
call eax
mov ecx, eax
imul ecx, ecx, 0x96
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x20]
mov eax, ecx
mov ecx, dword [esi + 8]
shl eax, 0x18
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x40]
add ecx, 0x80918
mov dword [eax + 0xc], edx
call fcn.0046f4f8
push eax
call fcn.004f15be
mov eax, dword [edi]
mov edx, dword [eax + 4]
add esp, 0x18
mov ecx, edi
call edx
mov ebx, eax
mov eax, dword [edi]
mov edx, dword [eax + 4]
shl ebx, 0x18
mov ecx, edi
or ebx, 0xffffff
call edx
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fld qword [0x6cfda0]
lea edx, [esp + 0xc8]
fmul st(1), st(0)
fxch st(1)
fdiv qword [0x6cfe68]
fstp dword [esp + 0x14]
fdivr dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x1c]
fld qword [0x6cff10]
fmul st(1)
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fmul qword [0x6cfc60]
fstp dword [esp + 0x24]
mov eax, dword [esp + 0x24]
fld1
push eax
push ecx
sub esp, 0xc
fst dword [esp + 8]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fstp dword [esp]
push edx
call fcn.00480176
fldz
add esp, 0xc
fst dword [esp + 8]
fst dword [esp + 4]
lea eax, [esp + 0x3ac]
fstp dword [esp]
push eax
call fcn.0047ffaa
add esp, 0x10
push eax
lea ecx, [esp + 0x34]
call fcn.0040a520
fldz
mov ebp, dword [esi + 0xb8]
push ebx
sub esp, 8
fst dword [esp + 4]
lea ecx, [esp + 0x3c]
fstp dword [esp]
push ecx
lea edx, [esp + 0x430]
lea edi, [esi + 0xb8]
push edx
lea ecx, [esp + 0x9c]
call fcn.0040f290
push eax
mov eax, dword [ebp + 0x5c]
mov ecx, edi
call eax
fldz
sub esp, 0xc
fst dword [esp + 8]
fld dword [esp + 0x28]
lea ecx, [esp + 0x4ac]
fmul qword [0x6cfe90]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fstp dword [esp]
push ecx
call fcn.0047ffaa
add esp, 0x10
push eax
lea ecx, [esp + 0x34]
call fcn.0040a520
fldz
mov ebp, dword [esi + 0x14c]
push ebx
sub esp, 8
fst dword [esp + 4]
lea edx, [esp + 0x3c]
fstp dword [esp]
push edx
lea eax, [esp + 0x530]
lea edi, [esi + 0x14c]
push eax
lea ecx, [esp + 0x9c]
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, edi
call edx
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x28]
lea eax, [esp + 0x5ac]
fld qword [0x6cff70]
fmul st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fmul qword [0x6cfbb8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push eax
call fcn.0047ffaa
add esp, 0x10
push eax
lea ecx, [esp + 0x34]
call fcn.0040a520
fldz
mov eax, dword [esi + 0x528]
push ebx
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
test eax, eax
jne 0x452cd1
mov ebp, dword [esi + 0xc]
lea ecx, [esp + 0xd4]
push ecx
lea edx, [esp + 0x630]
push edx
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x6b8]
push ecx
lea edi, [esi + 0xc]
lea ecx, [esp + 0xa4]
call fcn.0040f290
mov ecx, eax
call fcn.0040f290
mov edx, dword [ebp + 0x5c]
push eax
mov ecx, edi
call edx
jmp 0x452d14
lea ebp, [eax - 1]
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x730]
push ecx
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x7b8]
push eax
lea ecx, [esp + 0xa4]
xor edi, edi
call fcn.0040f290
mov ecx, eax
call fcn.0040f290
push eax
push ebp
push edi
lea ecx, [esi + 0xa0]
call fcn.004c3f68
mov edx, dword [esi + 0x35c]
mov edx, dword [edx + 0x30]
lea ecx, [esi + 0x35c]
lea eax, [esp + 0x110]
push eax
call edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
mov dword [esp + 0x24], edx
mov edx, dword [esi + 0x3e0]
mov edx, dword [edx + 0x30]
fstp dword [esp + 0x14]
fild dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x108]
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x74], ecx
lea ecx, [esi + 0x3e0]
push eax
call edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
mov dword [esp + 0x24], edx
mov edx, dword [esi + 0x464]
mov edx, dword [edx + 0x30]
fstp dword [esp + 0x14]
fild dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x118]
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x7c], ecx
lea ecx, [esi + 0x464]
push eax
call edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
mov dword [esp + 0x24], edx
xor edi, edi
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fild dword [esp + 0x24]
mov dword [esp + 0x80], eax
mov eax, 0x88888889
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x84], ecx
mov ecx, dword [esi + 0x344]
sub ecx, dword [esi + 0x340]
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x452f61
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea ecx, [esp + 0x82c]
fld dword [esp + edi*8 + 0x80]
fstp dword [esp + 4]
fld dword [esp + edi*8 + 0x7c]
fstp dword [esp]
push ecx
call fcn.0047ffaa
add esp, 0x10
push eax
lea ecx, [esp + 0x34]
call fcn.0040a520
cmp edi, 2
jne 0x452eec
lea ebp, [esi + 0x334]
push edi
mov eax, ebp
call fcn.0044fd00
cmp dword [eax], 0
je 0x452eb3
push edi
mov eax, ebp
call fcn.0044fd00
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x64]
call eax
test al, al
je 0x452eb3
fldz
push ebx
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x8b0]
push edx
lea ecx, [esp + 0x9c]
xor ebp, ebp
call fcn.0040f290
push eax
mov eax, edi
push eax
push ebp
lea ecx, [esi + 0x318]
jmp 0x452f34
fldz
push ebx
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x930]
xor ebp, ebp
push ecx
lea ecx, [esp + 0x9c]
mov dword [esp + 0x38], ebp
call fcn.0040f290
push eax
mov edx, ebp
push edx
push ebp
lea ecx, [esi + 0x318]
jmp 0x452f34
fldz
push ebx
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x9b0]
push ecx
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0xa38]
push eax
lea ecx, [esp + 0xa4]
xor ebp, ebp
call fcn.0040f290
mov ecx, eax
call fcn.0040f290
push eax
push ebp
push edi
lea ecx, [esi + 0x274]
call fcn.004c3f68
mov ecx, dword [esi + 0x344]
sub ecx, dword [esi + 0x340]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
inc edi
add ecx, edx
cmp edi, ecx
jl 0x452e15
mov esi, dword [esi + 8]
push 1
push 1
push 0
lea ecx, [esi + 0x80918]
call fcn.0046f4f8
mov ecx, eax
call fcn.00475f32
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret