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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x57f9f5
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5f72d8]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [esi + 0x16c]
mov dword [esp + 0x20], ecx
call fcn.00469ad0
mov edi, eax
mov dword [esp + 0x24], edi
call fcn.004605a0
mov eax, dword [eax + 0x38]
xor ebp, ebp
cmp eax, ebp
je 0x4deb3f
call fcn.004605a0
mov eax, dword [eax + 0x38]
push 0x12c
mov ecx, eax
call fcn.00464e60
test eax, eax
je 0x4deb3f
mov eax, dword [edi + 0x478]
sub eax, 0x17
je 0x4dd908
sub eax, 2
jne 0x4deb32
mov eax, dword [edi + 0x47c]
and eax, 0xf0
cmp eax, 0x20
je 0x4dc56b
cmp eax, 0x50
je 0x4dc0cc
cmp eax, 0x60
jne 0x4deb32
mov ecx, dword [esi + 0x184]
lea eax, [esp + 0x44]
push eax
push ebp
push 3
push ecx
mov ecx, esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], ebp
call fcn.004da990
call fcn.004605a0
mov edx, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1d4]
mov eax, dword [eax + 0x1c]
push edx
mov edx, dword [esi + 0x1c8]
push ecx
mov ecx, dword [esi + 0x1cc]
push edx
push ecx
mov ecx, eax
call fcn.0043b7c6
mov eax, dword [esi + 0x1d0]
mov ebx, dword [esi + 0x1d8]
mov dword [esp + 0x28], ebx
cmp eax, 0x540004
je 0x4db9d2
cmp eax, 0x540104
jne 0x4deb32
fldz
lea ecx, [ebx + 0x494]
mov dword [esp + 0x2c], ebp
lea edi, [esi + 0x1dc]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 8
fld dword [ecx + 0x40]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4db81e
fcom dword [ecx]
fnstsw ax
test ah, 5
jp 0x4db81e
mov ecx, dword [esp + 0x20]
fstp st(0)
push 0x2802000
call fcn.0046a0b0
mov ebx, eax
cmp dword [edi], ebp
jne 0x4db71a
push 0x16c
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x2b
cmp eax, ebp
je 0x4db6dd
push ebp
mov ecx, eax
call fcn.0048d380
jmp 0x4db6df
xor eax, eax
mov edx, dword [esp + 0x2c]
mov dword [edi], eax
or dword [eax + 0x144], 0x2402000
mov eax, dword [edi]
push edx
push 0x58c198
add eax, 4
push 0x100
push eax
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov ecx, dword [edi]
add esp, 0x10
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
push 1
fnstcw word [esp + 0x1c]
push ecx
movzx eax, word [esp + 0x20]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x44], eax
mov eax, dword [edi]
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov dword [eax + 0x14c], edx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fldz
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 5
jnp 0x4db774
fld dword [esp + 0x1c]
jmp 0x4db79f
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x1c]
fld dword [esp + 0x3c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4db797
fstp st(0)
fld dword [ebx + 0x158]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push 1
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0048cd50
fldz
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x51c]
fnstsw ax
test ah, 5
jp 0x4db80f
fld dword [esp + 0x1c]
mov dword [ecx + 0x68c], ebp
fld dword [ecx + 0x51c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4db7e2
mov dword [ecx + 0x68c], 1
mov eax, dword [edi]
and dword [eax + 0x150], 0x3fffffff
cmp dword [ecx + 0x68c], 1
jne 0x4db80f
mov eax, dword [edi]
or dword [eax + 0x150], 0x40000000
mov eax, dword [edi]
or dword [eax + 0x150], 0x80000000
inc dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x28]
add edi, 4
add ecx, 4
sub dword [esp + 0x34], 1
mov dword [esp + 0x30], ecx
jne 0x4db67d
fld dword [ebx + 0xbc]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4db8c1
fstp st(0)
cmp dword [esi + 0x35c], ebp
jne 0x4db8aa
push 0x168
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x2c
cmp eax, ebp
je 0x4db876
push ebp
mov ecx, eax
call fcn.0048d040
jmp 0x4db878
xor eax, eax
push str.CPU_VDDCR_VDD
mov dword [esi + 0x35c], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov ecx, dword [esi + 0x35c]
add esp, 0xc
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
push 1
push ecx
mov ecx, dword [esi + 0x35c]
fstp dword [esp]
call fcn.0048cd50
fldz
fld dword [ebx + 0xd0]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4db953
fstp st(0)
cmp dword [esi + 0x360], ebp
jne 0x4db93c
push 0x168
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x2d
cmp eax, ebp
je 0x4db908
push 1
mov ecx, eax
call fcn.0048d040
jmp 0x4db90a
xor eax, eax
push str.CPU_VDDR_SOC
mov dword [esi + 0x360], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov edx, dword [esi + 0x360]
add esp, 0xc
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
push 1
push ecx
mov ecx, dword [esi + 0x360]
fstp dword [esp]
call fcn.0048cd50
fldz
fld dword [ebx + 0xe4]
fstp dword [esp + 0x1c]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4deb32
cmp dword [esi + 0x364], ebp
jne 0x4dc0b2
push 0x168
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x2e
cmp eax, ebp
je 0x4db9a0
push 2
mov ecx, eax
call fcn.0048d040
jmp 0x4db9a2
xor eax, eax
push str.CPU_VDD_MISC
mov dword [esi + 0x364], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov eax, dword [esi + 0x364]
add esp, 0xc
push eax
jmp 0x4dc0ab
fldz
lea ecx, [ebx + 0x494]
mov dword [esp + 0x2c], ebp
lea edi, [esi + 0x1dc]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], 0x10
fld dword [ecx + 0x80]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4dbb90
fcom dword [ecx]
fnstsw ax
test ah, 5
jp 0x4dbb90
mov ecx, dword [esp + 0x20]
fstp st(0)
push 0x2802000
call fcn.0046a0b0
mov ebx, eax
cmp dword [edi], ebp
jne 0x4dba90
push 0x16c
call fcn.0054993e
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x68], 0x23
cmp eax, ebp
je 0x4dba53
push ebp
mov ecx, eax
call fcn.0048d380
jmp 0x4dba55
xor eax, eax
mov ecx, dword [esp + 0x2c]
push ecx
mov dword [edi], eax
or dword [eax + 0x144], 0x2402000
mov edx, dword [edi]
push 0x58c198
add edx, 4
push 0x100
push edx
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov eax, dword [edi]
add esp, 0x10
push eax
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov edx, dword [edi]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x38], eax
fldcw word [esp + 0x38]
fistp qword [esp + 0x38]
mov ecx, dword [esp + 0x38]
push ecx
mov dword [edx + 0x14c], ecx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fld dword [ebx + 0x158]
fstp dword [esp + 0x34]
fldz
fcomp dword [esp + 0x34]
fnstsw ax
test ah, 5
jnp 0x4dbaea
fld dword [esp + 0x1c]
jmp 0x4dbb15
fld dword [ebx + 0x158]
fstp dword [esp + 0x34]
fld dword [esp + 0x1c]
fld dword [esp + 0x34]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4dbb0d
fstp st(0)
fld dword [ebx + 0x158]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
push 1
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0048cd50
fldz
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x51c]
fnstsw ax
test ah, 5
jp 0x4dbb85
fld dword [esp + 0x1c]
mov dword [ecx + 0x68c], ebp
fld dword [ecx + 0x51c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4dbb58
mov dword [ecx + 0x68c], 1
mov eax, dword [edi]
and dword [eax + 0x150], 0x3fffffff
cmp dword [ecx + 0x68c], 1
jne 0x4dbb85
mov eax, dword [edi]
or dword [eax + 0x150], 0x40000000
mov eax, dword [edi]
or dword [eax + 0x150], 0x80000000
inc dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
add edi, 4
add ecx, 4
sub dword [esp + 0x3c], 1
mov dword [esp + 0x30], ecx
jne 0x4db9f0
mov ebp, dword [esp + 0x28]
xor ebx, ebx
lea edi, [esi + 0x21c]
add ebp, 0x86c
fld dword [ebp]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4dbc6b
cmp dword [edi], 0
fstp st(1)
jne 0x4dbc2e
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x24
test eax, eax
je 0x4dbbfd
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dbbff
xor eax, eax
push ebx
push str.L3_Cache__d
mov dword [edi], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov eax, dword [edi]
add esp, 0x10
push eax
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov edx, dword [edi]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x3c], eax
push 1
fldcw word [esp + 0x40]
fistp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
push ecx
mov dword [edx + 0x14c], ecx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4dbc6d
fstp st(0)
inc ebx
add ebp, 4
add edi, 4
cmp ebx, 2
jl 0x4dbbb4
mov eax, dword [esp + 0x28]
fld dword [eax + 0x34c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4dbd4e
cmp dword [esi + 0x224], 0
fstp st(1)
jne 0x4dbd09
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x25
test eax, eax
je 0x4dbcd1
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dbcd3
xor eax, eax
push 0x59a3ec
mov dword [esi + 0x224], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov ecx, dword [esi + 0x224]
add esp, 0xc
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x224]
fldcw word [esp + 0x40]
push ecx
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov dword [eax + 0x14c], edx
mov ecx, dword [esi + 0x224]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4dbd50
fstp st(0)
mov ecx, dword [esp + 0x28]
fld dword [ecx + 0x87c]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4dbe29
cmp dword [esi + 0x33c], 0
fstp st(0)
jne 0x4dbdd4
push 0x168
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x26
test eax, eax
je 0x4dbda0
push 0
mov ecx, eax
call fcn.0048ec60
jmp 0x4dbda2
xor eax, eax
push str.L3_Cache_0
mov dword [esi + 0x33c], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov edx, dword [esi + 0x33c]
add esp, 0xc
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov ecx, dword [esi + 0x33c]
fmul qword [0x5c1168]
push 1
fnstcw word [esp + 0x1c]
push ecx
movzx eax, word [esp + 0x20]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x44], eax
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x14c], eax
mov ecx, dword [esi + 0x33c]
fldcw word [esp + 0x20]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.0048cd50
fldz
mov edx, dword [esp + 0x28]
fld dword [edx + 0x880]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4dbf02
cmp dword [esi + 0x340], 0
fstp st(0)
jne 0x4dbead
push 0x168
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x27
test eax, eax
je 0x4dbe79
push 1
mov ecx, eax
call fcn.0048ec60
jmp 0x4dbe7b
xor eax, eax
push str.L3_Cache_1
mov dword [esi + 0x340], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov eax, dword [esi + 0x340]
add esp, 0xc
push eax
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov edx, dword [esi + 0x340]
fmul qword [0x5c1168]
push 1
fnstcw word [esp + 0x1c]
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
push ecx
mov dword [edx + 0x14c], ecx
mov ecx, dword [esi + 0x340]
fldcw word [esp + 0x20]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.0048cd50
fldz
mov eax, dword [esp + 0x28]
fld dword [eax + 0xbc]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4dbf99
cmp dword [esi + 0x35c], 0
fstp st(0)
jne 0x4dbf82
push 0x168
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x28
test eax, eax
je 0x4dbf4e
push 0
mov ecx, eax
call fcn.0048d040
jmp 0x4dbf50
xor eax, eax
push str.CPU_VDDCR_VDD
mov dword [esi + 0x35c], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov ecx, dword [esi + 0x35c]
add esp, 0xc
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
push 1
push ecx
mov ecx, dword [esi + 0x35c]
fstp dword [esp]
call fcn.0048cd50
fldz
mov edx, dword [esp + 0x28]
fld dword [edx + 0xd0]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4dc030
cmp dword [esi + 0x360], 0
fstp st(0)
jne 0x4dc019
push 0x168
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x29
test eax, eax
je 0x4dbfe5
push 1
mov ecx, eax
call fcn.0048d040
jmp 0x4dbfe7
xor eax, eax
push str.CPU_VDDR_SOC
mov dword [esi + 0x360], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov eax, dword [esi + 0x360]
add esp, 0xc
push eax
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
push 1
push ecx
mov ecx, dword [esi + 0x360]
fstp dword [esp]
call fcn.0048cd50
fldz
mov ecx, dword [esp + 0x28]
fld dword [ecx + 0xe4]
fstp dword [esp + 0x1c]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4deb32
cmp dword [esi + 0x364], 0
jne 0x4dc0b2
push 0x168
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x2a
test eax, eax
je 0x4dc07e
push 2
mov ecx, eax
call fcn.0048d040
jmp 0x4dc080
xor eax, eax
push str.CPU_VDD_MISC
mov dword [esi + 0x364], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov edx, dword [esi + 0x364]
add esp, 0xc
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
push 1
push ecx
mov ecx, dword [esi + 0x364]
fstp dword [esp]
call fcn.0048cd50
jmp 0x4deb32
mov ecx, dword [esi + 0x184]
lea eax, [esp + 0x44]
push eax
push ebp
push 0x65
push ecx
mov ecx, esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], ebp
call fcn.004da990
call fcn.004605a0
mov edx, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1d4]
mov eax, dword [eax + 0x1c]
push edx
mov edx, dword [esi + 0x1c8]
push ecx
push edx
push ebp
mov ecx, eax
call fcn.0043b7c6
cmp dword [esi + 0x1d0], 0x400005
mov eax, dword [esi + 0x1d8]
mov dword [esp + 0x34], eax
jne 0x4deb32
fldz
mov ecx, eax
xor ebp, ebp
add ecx, 0x320
lea edi, [esi + 0x1dc]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x2c]
fld dword [edx + 0x40]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4dc2e9
mov eax, edx
fcom dword [eax]
fnstsw ax
test ah, 5
jp 0x4dc2e9
mov ecx, dword [esp + 0x20]
fstp st(0)
push 0x2802000
call fcn.0046a0b0
cmp dword [edi], 0
mov ebx, eax
jne 0x4dc1f0
push 0x16c
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x1f
test eax, eax
je 0x4dc1b7
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dc1b9
xor eax, eax
mov dword [edi], eax
or dword [eax + 0x144], 0x2402000
mov ecx, dword [edi]
push ebp
push 0x58c198
add ecx, 4
push 0x100
push ecx
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov edx, dword [edi]
add esp, 0x10
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov ecx, dword [edi]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
push ecx
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x14c], eax
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fldz
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 5
jnp 0x4dc24a
fld dword [esp + 0x1c]
jmp 0x4dc275
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x1c]
fld dword [esp + 0x3c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4dc26d
fstp st(0)
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
push 1
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0048cd50
fldz
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x51c]
fnstsw ax
test ah, 5
jp 0x4dc2e9
fld dword [esp + 0x1c]
mov dword [ecx + 0x68c], 0
fld dword [ecx + 0x51c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4dc2bc
mov dword [ecx + 0x68c], 1
mov eax, dword [edi]
and dword [eax + 0x150], 0x3fffffff
cmp dword [ecx + 0x68c], 1
jne 0x4dc2e9
mov eax, dword [edi]
or dword [eax + 0x150], 0x40000000
mov eax, dword [edi]
or dword [eax + 0x150], 0x80000000
add dword [esp + 0x2c], 4
inc ebp
add edi, 4
cmp ebp, 8
jl 0x4dc14f
mov edi, dword [esp + 0x34]
fld dword [edi + 0x608]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4dc3cc
cmp dword [esi + 0x1fc], 0
fstp st(1)
jne 0x4dc387
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x20
test eax, eax
je 0x4dc34f
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dc351
xor eax, eax
push str.L3_Cache
mov dword [esi + 0x1fc], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov edx, dword [esi + 0x1fc]
add esp, 0xc
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov ecx, dword [esi + 0x1fc]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x3c], eax
push 1
fldcw word [esp + 0x40]
push ecx
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x14c], eax
mov ecx, dword [esi + 0x1fc]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4dc3ce
fstp st(0)
fld dword [edi + 0x640]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4dc49b
cmp dword [esi + 0x200], 0
fstp st(1)
jne 0x4dc456
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x21
test eax, eax
je 0x4dc41e
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dc420
xor eax, eax
push 0x59a3c4
mov dword [esi + 0x200], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov edx, dword [esi + 0x200]
add esp, 0xc
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov ecx, dword [esi + 0x200]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x3c], eax
push 1
fldcw word [esp + 0x40]
push ecx
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x14c], eax
mov ecx, dword [esi + 0x200]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4dc49d
fstp st(0)
fld dword [edi + 0x600]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4deb30
cmp dword [esi + 0x31c], 0
jne 0x4dc525
push 0x188
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x22
test eax, eax
je 0x4dc4ed
push 0
mov ecx, eax
call fcn.0048db70
jmp 0x4dc4ef
xor eax, eax
push str.L3_Cache
mov dword [esi + 0x31c], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov edx, dword [esi + 0x31c]
add esp, 0xc
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov ecx, dword [esi + 0x31c]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x3c], eax
push 1
fldcw word [esp + 0x40]
push ecx
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x14c], eax
mov ecx, dword [esi + 0x31c]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
jmp 0x4deb32
mov eax, dword [esi + 0x184]
lea edx, [esp + 0x44]
push edx
push ebp
push 5
push eax
mov ecx, esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], ebp
call fcn.004da990
call fcn.004605a0
mov ecx, dword [esi + 0x1d8]
mov edx, dword [esi + 0x1d4]
mov eax, dword [eax + 0x1c]
push ecx
mov ecx, dword [esi + 0x1c8]
push edx
push ecx
push ebp
mov ecx, eax
call fcn.0043b7c6
fldz
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1d8]
mov dword [esp + 0x28], ecx
cmp eax, 0x380904
ja 0x4dd37f
je 0x4dcf45
sub eax, 0x380804
je 0x4dcaed
sub eax, 1
jne 0x4dca48
xor ebp, ebp
add ecx, 0x2b0
lea edi, [esi + 0x1dc]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], 0x10
fld dword [ecx + 0x80]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4dc7ae
fcom dword [ecx]
fnstsw ax
test ah, 5
jp 0x4dc7ae
mov ecx, dword [esp + 0x20]
fstp st(0)
push 0x2802000
call fcn.0046a0b0
cmp dword [edi], 0
mov ebx, eax
jne 0x4dc6ad
push 0x16c
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x11
test eax, eax
je 0x4dc674
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dc676
xor eax, eax
mov dword [edi], eax
or dword [eax + 0x144], 0x2402000
mov edx, dword [edi]
push ebp
push 0x58c198
add edx, 4
push 0x100
push edx
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov eax, dword [edi]
add esp, 0x10
push eax
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov edx, dword [edi]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
push ecx
mov dword [edx + 0x14c], ecx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fldz
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 5
jnp 0x4dc707
fld dword [esp + 0x1c]
jmp 0x4dc732
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x1c]
fld dword [esp + 0x3c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4dc72a
fstp st(0)
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
push 1
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0048cd50
fldz
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x51c]
fnstsw ax
test ah, 5
jp 0x4dc7a6
fld dword [esp + 0x1c]
mov dword [ecx + 0x68c], 0
fld dword [ecx + 0x51c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4dc779
mov dword [ecx + 0x68c], 1
mov eax, dword [edi]
and dword [eax + 0x150], 0x3fffffff
cmp dword [ecx + 0x68c], 1
jne 0x4dc7a6
mov eax, dword [edi]
or dword [eax + 0x150], 0x40000000
mov eax, dword [edi]
or dword [eax + 0x150], 0x80000000
mov ecx, dword [esp + 0x34]
inc ebp
add edi, 4
add ecx, 4
sub dword [esp + 0x30], 1
mov dword [esp + 0x34], ecx
jne 0x4dc60f
mov ebp, dword [esp + 0x28]
xor ebx, ebx
lea edi, [esi + 0x21c]
add ebp, 0x880
fld dword [ebp]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4dc889
cmp dword [edi], 0
fstp st(1)
jne 0x4dc84c
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x12
test eax, eax
je 0x4dc81b
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dc81d
xor eax, eax
push ebx
push str.L3_Cache__d
mov dword [edi], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov eax, dword [edi]
add esp, 0x10
push eax
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov edx, dword [edi]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x3c], eax
push 1
fldcw word [esp + 0x40]
fistp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
push ecx
mov dword [edx + 0x14c], ecx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4dc88b
fstp st(0)
inc ebx
add ebp, 4
add edi, 4
cmp ebx, 2
jl 0x4dc7d2
mov eax, dword [esp + 0x28]
fld dword [eax + 0x1fc]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4dc96c
cmp dword [esi + 0x224], 0
fstp st(1)
jne 0x4dc927
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x13
test eax, eax
je 0x4dc8ef
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dc8f1
xor eax, eax
push 0x59a3ec
mov dword [esi + 0x224], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov ecx, dword [esi + 0x224]
add esp, 0xc
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x224]
fldcw word [esp + 0x40]
push ecx
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov dword [eax + 0x14c], edx
mov ecx, dword [esi + 0x224]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4dc96e
fstp st(0)
mov ebp, dword [esp + 0x28]
xor ebx, ebx
lea edi, [esi + 0x31c]
add ebp, 0x870
fld dword [ebp]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4dca36
cmp dword [edi], 0
fstp st(1)
jne 0x4dc9f9
push 0x188
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x14
test eax, eax
je 0x4dc9c8
push ebx
mov ecx, eax
call fcn.0048db70
jmp 0x4dc9ca
xor eax, eax
push ebx
push str.L3_Cache__d
mov dword [edi], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov ecx, dword [edi]
add esp, 0x10
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
mov eax, dword [edi]
fldcw word [esp + 0x40]
push ecx
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov dword [eax + 0x14c], edx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4dca38
fstp st(0)
inc ebx
add ebp, 4
add edi, 4
cmp ebx, 2
jl 0x4dc980
fstp st(0)
mov ecx, dword [esp + 0x20]
call fcn.004697c0
fstp dword [esp + 0x28]
fldz
fcomp dword [esp + 0x28]
fnstsw ax
test ah, 5
jp 0x4deb32
call fcn.004605a0
mov ecx, dword [esi + 0x37c]
mov eax, dword [eax + 0x1c]
lea edx, [esp + 0x2c]
push edx
push 0x20340078
push ecx
push SysReAllocString
mov ecx, eax
call fcn.00578980
mov ecx, dword [esp + 0x2c]
mov edx, ecx
mov eax, ecx
shr edx, 6
and eax, 0x3f
and edx, 0x1ff
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
test eax, eax
jle 0x4dd81e
cmp dword [esi + 0x33c], 0
jne 0x4dd7eb
push 0x168
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x1d
test eax, eax
je 0x4dd7b3
push 0
mov ecx, eax
call fcn.0048ec60
jmp 0x4dd7b5
xor ebp, ebp
add ecx, 0x2a4
lea edi, [esi + 0x1dc]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], 0x10
fld dword [ecx + 0x80]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4dcca6
fcom dword [ecx]
fnstsw ax
test ah, 5
jp 0x4dcca6
mov ecx, dword [esp + 0x20]
fstp st(0)
push 0x2802000
call fcn.0046a0b0
cmp dword [edi], 0
mov ebx, eax
jne 0x4dcba5
push 0x16c
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0xd
test eax, eax
je 0x4dcb6c
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dcb6e
xor eax, eax
mov dword [edi], eax
or dword [eax + 0x144], 0x2402000
mov ecx, dword [edi]
push ebp
push 0x58c198
add ecx, 4
push 0x100
push ecx
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov edx, dword [edi]
add esp, 0x10
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov ecx, dword [edi]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
push ecx
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x14c], eax
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fldz
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 5
jnp 0x4dcbff
fld dword [esp + 0x1c]
jmp 0x4dcc2a
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x1c]
fld dword [esp + 0x3c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4dcc22
fstp st(0)
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
push 1
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0048cd50
fldz
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x51c]
fnstsw ax
test ah, 5
jp 0x4dcc9e
fld dword [esp + 0x1c]
mov dword [ecx + 0x68c], 0
fld dword [ecx + 0x51c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4dcc71
mov dword [ecx + 0x68c], 1
mov eax, dword [edi]
and dword [eax + 0x150], 0x3fffffff
cmp dword [ecx + 0x68c], 1
jne 0x4dcc9e
mov eax, dword [edi]
or dword [eax + 0x150], 0x40000000
mov eax, dword [edi]
or dword [eax + 0x150], 0x80000000
mov ecx, dword [esp + 0x34]
inc ebp
add edi, 4
add ecx, 4
sub dword [esp + 0x30], 1
mov dword [esp + 0x34], ecx
jne 0x4dcb07
mov ebp, dword [esp + 0x28]
xor ebx, ebx
lea edi, [esi + 0x21c]
add ebp, 0x834
fld dword [ebp]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4dcd81
cmp dword [edi], 0
fstp st(1)
jne 0x4dcd44
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0xe
test eax, eax
je 0x4dcd13
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dcd15
xor eax, eax
push ebx
push str.L3_Cache__d
mov dword [edi], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov edx, dword [edi]
add esp, 0x10
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov ecx, dword [edi]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x3c], eax
push 1
fldcw word [esp + 0x40]
push ecx
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x14c], eax
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4dcd83
fstp st(0)
inc ebx
add ebp, 4
add edi, 4
cmp ebx, 2
jl 0x4dccca
mov edx, dword [esp + 0x28]
fld dword [edx + 0x1fc]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4dce64
cmp dword [esi + 0x224], 0
fstp st(1)
jne 0x4dce1f
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0xf
test eax, eax
je 0x4dcde7
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dcde9
xor eax, eax
push 0x59a3ec
mov dword [esi + 0x224], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov eax, dword [esi + 0x224]
add esp, 0xc
push eax
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov edx, dword [esi + 0x224]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x3c], eax
push 1
fldcw word [esp + 0x40]
fistp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
push ecx
mov dword [edx + 0x14c], ecx
mov ecx, dword [esi + 0x224]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4dce66
fstp st(0)
mov ebp, dword [esp + 0x28]
xor ebx, ebx
lea edi, [esi + 0x31c]
add ebp, 0x824
fld dword [ebp]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4dcf2e
cmp dword [edi], 0
fstp st(1)
jne 0x4dcef1
push 0x188
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x10
test eax, eax
je 0x4dcec0
push ebx
mov ecx, eax
call fcn.0048db70
jmp 0x4dcec2
xor eax, eax
push ebx
push str.L3_Cache__d
mov dword [edi], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov eax, dword [edi]
add esp, 0x10
push eax
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov edx, dword [edi]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x3c], eax
push 1
fldcw word [esp + 0x40]
fistp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
push ecx
mov dword [edx + 0x14c], ecx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4dcf30
fstp st(0)
inc ebx
add ebp, 4
add edi, 4
cmp ebx, 2
jl 0x4dce78
jmp 0x4dca48
mov ebx, ecx
lea ecx, [ebx + 0x2a4]
xor ebp, ebp
lea edi, [esi + 0x1dc]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], 8
fld dword [ecx + 0x40]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4dd101
fcom dword [ecx]
fnstsw ax
test ah, 5
jp 0x4dd101
mov ecx, dword [esp + 0x20]
fstp st(0)
push 0x2802000
call fcn.0046a0b0
cmp dword [edi], 0
mov ebx, eax
jne 0x4dcffc
push 0x16c
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x15
test eax, eax
je 0x4dcfc3
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dcfc5
xor eax, eax
mov dword [edi], eax
or dword [eax + 0x144], 0x2402000
mov eax, dword [edi]
push ebp
push 0x58c198
add eax, 4
push 0x100
push eax
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov ecx, dword [edi]
add esp, 0x10
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
push 1
fnstcw word [esp + 0x1c]
push ecx
movzx eax, word [esp + 0x20]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x44], eax
mov eax, dword [edi]
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov dword [eax + 0x14c], edx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fldz
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 5
jnp 0x4dd056
fld dword [esp + 0x1c]
jmp 0x4dd081
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x1c]
fld dword [esp + 0x3c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4dd079
fstp st(0)
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
push 1
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0048cd50
fldz
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x51c]
fnstsw ax
test ah, 5
jp 0x4dd0f5
fld dword [esp + 0x1c]
mov dword [ecx + 0x68c], 0
fld dword [ecx + 0x51c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4dd0c8
mov dword [ecx + 0x68c], 1
mov eax, dword [edi]
and dword [eax + 0x150], 0x3fffffff
cmp dword [ecx + 0x68c], 1
jne 0x4dd0f5
mov eax, dword [edi]
or dword [eax + 0x150], 0x40000000
mov eax, dword [edi]
or dword [eax + 0x150], 0x80000000
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x28]
inc ebp
add edi, 4
add ecx, 4
sub dword [esp + 0x30], 1
mov dword [esp + 0x34], ecx
jne 0x4dcf61
fld dword [ebx + 0x56c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4dd1e0
cmp dword [esi + 0x1fc], 0
fstp st(1)
jne 0x4dd19b
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x16
test eax, eax
je 0x4dd163
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dd165
xor eax, eax
push str.L3_Cache
mov dword [esi + 0x1fc], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov ecx, dword [esi + 0x1fc]
add esp, 0xc
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x1fc]
fldcw word [esp + 0x40]
push ecx
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov dword [eax + 0x14c], edx
mov ecx, dword [esi + 0x1fc]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4dd1e2
fstp st(0)
fld dword [ebx + 0x1fc]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4dd2af
cmp dword [esi + 0x200], 0
fstp st(1)
jne 0x4dd26a
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x17
test eax, eax
je 0x4dd232
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dd234
xor eax, eax
push 0x59a3ec
mov dword [esi + 0x200], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov ecx, dword [esi + 0x200]
add esp, 0xc
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x200]
fldcw word [esp + 0x40]
push ecx
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov dword [eax + 0x14c], edx
mov ecx, dword [esi + 0x200]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4dd2b1
fstp st(0)
fld dword [ebx + 0x564]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4dca48
cmp dword [esi + 0x31c], 0
jne 0x4dd339
push 0x188
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x18
test eax, eax
je 0x4dd301
push 0
mov ecx, eax
call fcn.0048db70
jmp 0x4dd303
xor eax, eax
push str.L3_Cache
mov dword [esi + 0x31c], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov ecx, dword [esi + 0x31c]
add esp, 0xc
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x31c]
fldcw word [esp + 0x3c]
fistp qword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x14c], edx
fldcw word [esp + 0x18]
push 1
push ecx
mov ecx, dword [esi + 0x31c]
fstp dword [esp]
call fcn.0048cd50
jmp 0x4dca4a
cmp eax, 0x380905
jne 0x4dca48
mov ebx, ecx
lea ecx, [ebx + 0x2b0]
xor ebp, ebp
lea edi, [esi + 0x1dc]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], 8
fld dword [ecx + 0x40]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4dd546
fcom dword [ecx]
fnstsw ax
test ah, 5
jp 0x4dd546
mov ecx, dword [esp + 0x20]
fstp st(0)
push 0x2802000
call fcn.0046a0b0
cmp dword [edi], 0
mov ebx, eax
jne 0x4dd441
push 0x16c
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x19
test eax, eax
je 0x4dd408
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dd40a
xor eax, eax
mov dword [edi], eax
or dword [eax + 0x144], 0x2402000
mov ecx, dword [edi]
push ebp
push 0x58c198
add ecx, 4
push 0x100
push ecx
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov edx, dword [edi]
add esp, 0x10
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov ecx, dword [edi]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
push ecx
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x14c], eax
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fldz
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 5
jnp 0x4dd49b
fld dword [esp + 0x1c]
jmp 0x4dd4c6
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x1c]
fld dword [esp + 0x3c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4dd4be
fstp st(0)
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
push 1
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0048cd50
fldz
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x51c]
fnstsw ax
test ah, 5
jp 0x4dd53a
fld dword [esp + 0x1c]
mov dword [ecx + 0x68c], 0
fld dword [ecx + 0x51c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4dd50d
mov dword [ecx + 0x68c], 1
mov eax, dword [edi]
and dword [eax + 0x150], 0x3fffffff
cmp dword [ecx + 0x68c], 1
jne 0x4dd53a
mov eax, dword [edi]
or dword [eax + 0x150], 0x40000000
mov eax, dword [edi]
or dword [eax + 0x150], 0x80000000
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x28]
inc ebp
add edi, 4
add ecx, 4
sub dword [esp + 0x30], 1
mov dword [esp + 0x34], ecx
jne 0x4dd3a6
fld dword [ebx + 0x598]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4dd625
cmp dword [esi + 0x1fc], 0
fstp st(1)
jne 0x4dd5e0
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x1a
test eax, eax
je 0x4dd5a8
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dd5aa
xor eax, eax
push str.L3_Cache
mov dword [esi + 0x1fc], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov edx, dword [esi + 0x1fc]
add esp, 0xc
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov ecx, dword [esi + 0x1fc]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x3c], eax
push 1
fldcw word [esp + 0x40]
push ecx
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x14c], eax
mov ecx, dword [esi + 0x1fc]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4dd627
fstp st(0)
fld dword [ebx + 0x1fc]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4dd6f4
cmp dword [esi + 0x200], 0
fstp st(1)
jne 0x4dd6af
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x1b
test eax, eax
je 0x4dd677
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dd679
xor eax, eax
push 0x59a3ec
mov dword [esi + 0x200], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov edx, dword [esi + 0x200]
add esp, 0xc
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov ecx, dword [esi + 0x200]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x3c], eax
push 1
fldcw word [esp + 0x40]
push ecx
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x14c], eax
mov ecx, dword [esi + 0x200]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4dd6f6
fstp st(0)
fld dword [ebx + 0x590]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4dca48
cmp dword [esi + 0x31c], 0
jne 0x4dd77e
push 0x188
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x1c
test eax, eax
je 0x4dd746
push 0
mov ecx, eax
call fcn.0048db70
jmp 0x4dd748
xor eax, eax
push str.L3_Cache
mov dword [esi + 0x31c], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov edx, dword [esi + 0x31c]
add esp, 0xc
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov ecx, dword [esi + 0x31c]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x3c], eax
fldcw word [esp + 0x3c]
fistp qword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x14c], eax
fldcw word [esp + 0x18]
jmp 0x4dd369
xor eax, eax
push str.L3_Cache_0
mov dword [esi + 0x33c], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov eax, dword [esi + 0x33c]
add esp, 0xc
push eax
mov ecx, esi
call fcn.004b0110
mov ecx, dword [esp + 0x2c]
fld dword [esp + 0x28]
mov edx, dword [esi + 0x33c]
fadd st(0), st(0)
push 1
push ecx
mov dword [edx + 0x14c], ecx
fimul dword [esp + 0x2c]
mov ecx, dword [esi + 0x33c]
fidiv dword [esp + 0x28]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.0048cd50
call fcn.004605a0
mov edx, dword [esi + 0x37c]
mov eax, dword [eax + 0x1c]
lea ecx, [esp + 0x2c]
push ecx
push 0x20b40078
push edx
push SysReAllocString
mov ecx, eax
call fcn.00578980
mov ecx, dword [esp + 0x2c]
mov edx, ecx
mov eax, ecx
shr edx, 6
and eax, 0x3f
and edx, 0x1ff
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
test eax, eax
jle 0x4deb32
cmp dword [esi + 0x340], 0
jne 0x4dd8d0
push 0x168
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0x1e
test eax, eax
je 0x4dd898
push 0
mov ecx, eax
call fcn.0048ec60
jmp 0x4dd89a
xor eax, eax
push str.L3_Cache_1
mov dword [esi + 0x340], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov eax, dword [esi + 0x340]
add esp, 0xc
push eax
mov ecx, esi
call fcn.004b0110
mov ecx, dword [esp + 0x2c]
fld dword [esp + 0x28]
mov edx, dword [esi + 0x340]
fadd st(0), st(0)
push 1
push ecx
mov dword [edx + 0x14c], ecx
fimul dword [esp + 0x2c]
mov ecx, dword [esi + 0x340]
fidiv dword [esp + 0x28]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
fstp dword [esp]
call fcn.0048cd50
jmp 0x4deb32
mov eax, dword [edi + 0x47c]
and eax, 0xf0
cmp eax, 0x30
je 0x4de649
cmp eax, 0x60
je 0x4de18c
cmp eax, 0x70
jne 0x4deb32
mov ecx, dword [esi + 0x184]
lea eax, [esp + 0x44]
push eax
push ebp
push 5
push ecx
mov ecx, esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], ebp
call fcn.004da990
call fcn.004605a0
mov edx, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1d4]
mov eax, dword [eax + 0x1c]
push edx
mov edx, dword [esi + 0x1c8]
push ecx
push edx
push ebp
mov ecx, eax
call fcn.0043b7c6
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1d8]
mov dword [esp + 0x2c], ecx
cmp eax, 0x240803
je 0x4ddd1e
cmp eax, 0x240903
jne 0x4deb32
fldz
xor ebp, ebp
add ecx, 0x24c
lea edi, [esi + 0x1dc]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], 8
fld dword [ecx + 0x40]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4ddb5f
fcom dword [ecx]
fnstsw ax
test ah, 5
jp 0x4ddb5f
mov ecx, dword [esp + 0x20]
fstp st(0)
push 0x2802000
call fcn.0046a0b0
cmp dword [edi], 0
mov ebx, eax
jne 0x4dda5e
push 0x16c
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 6
test eax, eax
je 0x4dda25
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4dda27
xor eax, eax
mov dword [edi], eax
or dword [eax + 0x144], 0x2402000
mov eax, dword [edi]
push ebp
push 0x58c198
add eax, 4
push 0x100
push eax
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov ecx, dword [edi]
add esp, 0x10
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
push 1
fnstcw word [esp + 0x1c]
push ecx
movzx eax, word [esp + 0x20]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x44], eax
mov eax, dword [edi]
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov dword [eax + 0x14c], edx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fldz
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 5
jnp 0x4ddab8
fld dword [esp + 0x1c]
jmp 0x4ddae3
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x1c]
fld dword [esp + 0x3c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4ddadb
fstp st(0)
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
push 1
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0048cd50
fldz
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x51c]
fnstsw ax
test ah, 5
jp 0x4ddb57
fld dword [esp + 0x1c]
mov dword [ecx + 0x68c], 0
fld dword [ecx + 0x51c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4ddb2a
mov dword [ecx + 0x68c], 1
mov eax, dword [edi]
and dword [eax + 0x150], 0x3fffffff
cmp dword [ecx + 0x68c], 1
jne 0x4ddb57
mov eax, dword [edi]
or dword [eax + 0x150], 0x40000000
mov eax, dword [edi]
or dword [eax + 0x150], 0x80000000
mov ecx, dword [esp + 0x34]
inc ebp
add edi, 4
add ecx, 4
sub dword [esp + 0x30], 1
mov dword [esp + 0x34], ecx
jne 0x4dd9c3
mov ebp, dword [esp + 0x2c]
xor ebx, ebx
lea edi, [esi + 0x1fc]
add ebp, 0x4bc
fld dword [ebp]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4ddc3a
cmp dword [edi], 0
fstp st(1)
jne 0x4ddbfd
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 7
test eax, eax
je 0x4ddbcc
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4ddbce
xor eax, eax
push ebx
push str.L3_Cache__d
mov dword [edi], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov ecx, dword [edi]
add esp, 0x10
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
mov eax, dword [edi]
fldcw word [esp + 0x40]
push ecx
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov dword [eax + 0x14c], edx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4ddc3c
fstp st(0)
inc ebx
add ebp, 4
add edi, 4
cmp ebx, 2
jl 0x4ddb83
mov ecx, dword [esp + 0x2c]
fld dword [ecx + 0x1cc]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4deb30
cmp dword [esi + 0x204], 0
jne 0x4ddcd8
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 8
test eax, eax
je 0x4ddca0
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4ddca2
xor eax, eax
push 0x59a3ec
mov dword [esi + 0x204], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov edx, dword [esi + 0x204]
add esp, 0xc
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov ecx, dword [esi + 0x204]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x3c], eax
push 1
fldcw word [esp + 0x40]
push ecx
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x14c], eax
mov ecx, dword [esi + 0x204]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
jmp 0x4deb32
fldz
xor ebp, ebp
add ecx, 0x24c
lea edi, [esi + 0x1dc]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], 0x10
fld dword [ecx + 0x80]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4dded9
fcom dword [ecx]
fnstsw ax
test ah, 5
jp 0x4dded9
mov ecx, dword [esp + 0x20]
fstp st(0)
push 0x2802000
call fcn.0046a0b0
cmp dword [edi], 0
mov ebx, eax
jne 0x4dddd8
push 0x16c
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 9
test eax, eax
je 0x4ddd9f
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4ddda1
xor eax, eax
mov dword [edi], eax
or dword [eax + 0x144], 0x2402000
mov edx, dword [edi]
push ebp
push 0x58c198
add edx, 4
push 0x100
push edx
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov eax, dword [edi]
add esp, 0x10
push eax
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov edx, dword [edi]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
push ecx
mov dword [edx + 0x14c], ecx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fldz
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 5
jnp 0x4dde32
fld dword [esp + 0x1c]
jmp 0x4dde5d
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x1c]
fld dword [esp + 0x3c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4dde55
fstp st(0)
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
push 1
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0048cd50
fldz
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x51c]
fnstsw ax
test ah, 5
jp 0x4dded1
fld dword [esp + 0x1c]
mov dword [ecx + 0x68c], 0
fld dword [ecx + 0x51c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4ddea4
mov dword [ecx + 0x68c], 1
mov eax, dword [edi]
and dword [eax + 0x150], 0x3fffffff
cmp dword [ecx + 0x68c], 1
jne 0x4dded1
mov eax, dword [edi]
or dword [eax + 0x150], 0x40000000
mov eax, dword [edi]
or dword [eax + 0x150], 0x80000000
mov ecx, dword [esp + 0x34]
inc ebp
add edi, 4
add ecx, 4
sub dword [esp + 0x30], 1
mov dword [esp + 0x34], ecx
jne 0x4ddd3a
mov ebp, dword [esp + 0x2c]
xor ebx, ebx
lea edi, [esi + 0x21c]
add ebp, 0x72c
mov dword [esp + 0x3c], 4
fld dword [ebp]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4ddfc0
cmp dword [edi], 0
fstp st(1)
jne 0x4ddf7f
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x68], 0xa
test eax, eax
je 0x4ddf4e
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4ddf50
xor eax, eax
push ebx
push str.L3_Cache__d
mov dword [edi], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov eax, dword [edi]
add esp, 0x10
push eax
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov edx, dword [edi]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x34], eax
push 1
fldcw word [esp + 0x38]
fistp qword [esp + 0x38]
mov ecx, dword [esp + 0x38]
push ecx
mov dword [edx + 0x14c], ecx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
inc ebx
add edi, 4
jmp 0x4ddfc2
fstp st(0)
add ebp, 4
sub dword [esp + 0x3c], 1
jne 0x4ddf05
mov eax, dword [esp + 0x2c]
fld dword [eax + 0x1cc]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4de0a1
cmp dword [esi + 0x22c], 0
fstp st(1)
jne 0x4de05c
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0xb
test eax, eax
je 0x4de024
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4de026
xor eax, eax
push 0x59a3ec
mov dword [esi + 0x22c], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x74], 0xffffffff
call fcn.0045ea70
mov ecx, dword [esi + 0x22c]
add esp, 0xc
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x22c]
fldcw word [esp + 0x40]
push ecx
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov dword [eax + 0x14c], edx
mov ecx, dword [esi + 0x22c]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4de0a3
fstp st(0)
mov ebp, dword [esp + 0x2c]
xor ebx, ebx
lea edi, [esi + 0x31c]
add ebp, 0x70c
mov dword [esp + 0x3c], 4
fld dword [ebp]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4de177
cmp dword [edi], 0
fstp st(1)
jne 0x4de136
push 0x188
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x68], 0xc
test eax, eax
je 0x4de105
push ebx
mov ecx, eax
call fcn.0048db70
jmp 0x4de107
xor eax, eax
push ebx
push str.L3_Cache__d
mov dword [edi], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov ecx, dword [edi]
add esp, 0x10
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x38], eax
mov eax, dword [edi]
fldcw word [esp + 0x38]
push ecx
fistp qword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x14c], edx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
inc ebx
add edi, 4
jmp 0x4de179
fstp st(0)
add ebp, 4
sub dword [esp + 0x3c], 1
jne 0x4de0bd
jmp 0x4deb30
mov edx, dword [esi + 0x184]
lea ecx, [esp + 0x44]
push ecx
push ebp
push 0x65
push edx
mov ecx, esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], ebp
call fcn.004da990
call fcn.004605a0
mov ecx, dword [esi + 0x1d8]
mov edx, dword [esi + 0x1d4]
mov eax, dword [eax + 0x1c]
push ecx
mov ecx, dword [esi + 0x1c8]
push edx
push ecx
push ebp
mov ecx, eax
call fcn.0043b7c6
mov eax, dword [esi + 0x1d0]
sub eax, 0x370003
mov ecx, dword [esi + 0x1d8]
mov dword [esp + 0x2c], ecx
je 0x4de49f
sub eax, 2
jne 0x4deb32
fldz
xor ebp, ebp
add ecx, 0x35c
lea edi, [esi + 0x1dc]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], 8
fld dword [ecx]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4de3a9
mov ecx, dword [esp + 0x20]
fstp st(0)
push 0x2802000
call fcn.0046a0b0
cmp dword [edi], 0
mov ebx, eax
jne 0x4de2ac
push 0x16c
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 1
test eax, eax
je 0x4de273
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4de275
xor eax, eax
mov dword [edi], eax
or dword [eax + 0x144], 0x2402000
mov edx, dword [edi]
push ebp
push 0x58c198
add edx, 4
push 0x100
push edx
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov eax, dword [edi]
add esp, 0x10
push eax
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov edx, dword [edi]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
push ecx
mov dword [edx + 0x14c], ecx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fldz
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 5
jnp 0x4de306
fld dword [esp + 0x1c]
jmp 0x4de331
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x1c]
fld dword [esp + 0x3c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4de329
fstp st(0)
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
push 1
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0048cd50
fldz
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x51c]
fnstsw ax
test ah, 5
jp 0x4de3a5
fld dword [esp + 0x1c]
mov dword [ecx + 0x68c], 0
fld dword [ecx + 0x51c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4de378
mov dword [ecx + 0x68c], 1
mov eax, dword [edi]
and dword [eax + 0x150], 0x3fffffff
cmp dword [ecx + 0x68c], 1
jne 0x4de3a5
mov eax, dword [edi]
or dword [eax + 0x150], 0x40000000
mov eax, dword [edi]
or dword [eax + 0x150], 0x80000000
inc ebp
add edi, 4
mov ecx, dword [esp + 0x34]
add ecx, 4
sub dword [esp + 0x30], 1
mov dword [esp + 0x34], ecx
jne 0x4de21f
mov ebp, dword [esp + 0x2c]
xor ebx, ebx
lea edi, [esi + 0x1fc]
add ebp, 0x56c
fld dword [ebp]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4de488
cmp dword [edi], 0
fstp st(1)
jne 0x4de44b
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 2
test eax, eax
je 0x4de41a
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4de41c
xor eax, eax
push ebx
push str.L3_Cache__d
mov dword [edi], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov eax, dword [edi]
add esp, 0x10
push eax
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov edx, dword [edi]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x3c], eax
push 1
fldcw word [esp + 0x40]
fistp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
push ecx
mov dword [edx + 0x14c], ecx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
jmp 0x4de48a
fstp st(0)
inc ebx
add ebp, 4
add edi, 4
cmp ebx, 2
jl 0x4de3d1
jmp 0x4deb30
fldz
mov eax, ecx
xor ebp, ebp
add eax, 0x340
lea edi, [esi + 0x1dc]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], 8
mov ecx, dword [esp + 0x2c]
fld dword [ecx]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4de634
mov ecx, dword [esp + 0x20]
fstp st(0)
push 0x2802000
call fcn.0046a0b0
cmp dword [edi], 0
mov ebx, eax
jne 0x4de54d
push 0x16c
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 0
test eax, eax
je 0x4de514
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4de516
xor eax, eax
mov dword [edi], eax
or dword [eax + 0x144], 0x2402000
mov edx, dword [edi]
push ebp
push 0x58c198
add edx, 4
push 0x100
push edx
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov eax, dword [edi]
add esp, 0x10
push eax
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov edx, dword [edi]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
push ecx
mov dword [edx + 0x14c], ecx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
fcomp dword [ebx + 0x158]
fnstsw ax
fld dword [esp + 0x1c]
test ah, 5
jp 0x4de5bc
fld dword [ebx + 0x158]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4de5b4
fstp st(0)
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
push 1
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0048cd50
fldz
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x51c]
fnstsw ax
test ah, 5
jp 0x4de630
fld dword [esp + 0x1c]
mov dword [ecx + 0x68c], 0
fld dword [ecx + 0x51c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4de603
mov dword [ecx + 0x68c], 1
mov eax, dword [edi]
and dword [eax + 0x150], 0x3fffffff
cmp dword [ecx + 0x68c], 1
jne 0x4de630
mov eax, dword [edi]
or dword [eax + 0x150], 0x40000000
mov eax, dword [edi]
or dword [eax + 0x150], 0x80000000
inc ebp
add edi, 4
add dword [esp + 0x2c], 4
sub dword [esp + 0x34], 1
jne 0x4de4bc
jmp 0x4deb30
mov ecx, dword [esi + 0x184]
lea eax, [esp + 0x44]
push eax
push ebp
push 5
push ecx
mov ecx, esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], ebp
call fcn.004da990
call fcn.004605a0
mov edx, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1d4]
mov eax, dword [eax + 0x1c]
push edx
mov edx, dword [esi + 0x1c8]
push ecx
push edx
push ebp
mov ecx, eax
call fcn.0043b7c6
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1d8]
mov dword [esp + 0x2c], ecx
cmp eax, 0x240003
je 0x4de979
cmp eax, 0x240503
jne 0x4deb32
fldz
xor ebp, ebp
add ecx, 0x24c
lea edi, [esi + 0x1dc]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], 0x20
fld dword [ecx + 0x100]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4de87d
fcom dword [ecx]
fnstsw ax
test ah, 5
jp 0x4de87d
mov ecx, dword [esp + 0x20]
fstp st(0)
push 0x2802000
call fcn.0046a0b0
cmp dword [edi], 0
mov ebx, eax
jne 0x4de77c
push 0x16c
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 4
test eax, eax
je 0x4de743
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4de745
xor eax, eax
mov dword [edi], eax
or dword [eax + 0x144], 0x2402000
mov eax, dword [edi]
push ebp
push 0x58c198
add eax, 4
push 0x100
push eax
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov ecx, dword [edi]
add esp, 0x10
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
push 1
fnstcw word [esp + 0x1c]
push ecx
movzx eax, word [esp + 0x20]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x44], eax
mov eax, dword [edi]
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov dword [eax + 0x14c], edx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fldz
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 5
jnp 0x4de7d6
fld dword [esp + 0x1c]
jmp 0x4de801
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x1c]
fld dword [esp + 0x3c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4de7f9
fstp st(0)
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
push 1
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0048cd50
fldz
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x51c]
fnstsw ax
test ah, 5
jp 0x4de875
fld dword [esp + 0x1c]
mov dword [ecx + 0x68c], 0
fld dword [ecx + 0x51c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4de848
mov dword [ecx + 0x68c], 1
mov eax, dword [edi]
and dword [eax + 0x150], 0x3fffffff
cmp dword [ecx + 0x68c], 1
jne 0x4de875
mov eax, dword [edi]
or dword [eax + 0x150], 0x40000000
mov eax, dword [edi]
or dword [eax + 0x150], 0x80000000
mov ecx, dword [esp + 0x34]
inc ebp
add edi, 4
add ecx, 4
sub dword [esp + 0x30], 1
mov dword [esp + 0x34], ecx
jne 0x4de6de
mov ebp, dword [esp + 0x2c]
xor ebx, ebx
lea edi, [esi + 0x25c]
add ebp, 0xc0c
mov dword [esp + 0x3c], 8
fld dword [ebp]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4de964
cmp dword [edi], 0
fstp st(1)
jne 0x4de923
push 0x16c
fstp st(0)
call fcn.0054993e
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x68], 5
test eax, eax
je 0x4de8f2
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4de8f4
xor eax, eax
push ebx
push str.L3_Cache__d
mov dword [edi], eax
add eax, 4
push 0x100
push eax
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov ecx, dword [edi]
add esp, 0x10
push ecx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x38], eax
mov eax, dword [edi]
fldcw word [esp + 0x38]
push ecx
fistp qword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x14c], edx
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
inc ebx
add edi, 4
jmp 0x4de966
fstp st(0)
add ebp, 4
sub dword [esp + 0x3c], 1
jne 0x4de8a9
jmp 0x4deb30
fldz
xor ebp, ebp
add ecx, 0x24c
lea edi, [esi + 0x1dc]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], 0x40
fld dword [ecx + 0x200]
fstp dword [esp + 0x1c]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4deb1e
fcom dword [ecx]
fnstsw ax
test ah, 5
jp 0x4deb1e
mov ecx, dword [esp + 0x20]
fstp st(0)
push 0x2802000
call fcn.0046a0b0
cmp dword [edi], 0
mov ebx, eax
jne 0x4dea33
push 0x16c
call fcn.0054993e
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], 3
test eax, eax
je 0x4de9fa
push 0
mov ecx, eax
call fcn.0048d380
jmp 0x4de9fc
xor eax, eax
mov dword [edi], eax
or dword [eax + 0x144], 0x2402000
mov ecx, dword [edi]
push ebp
push 0x58c198
add ecx, 4
push 0x100
push ecx
mov dword [esp + 0x78], 0xffffffff
call fcn.0045ea70
mov edx, dword [edi]
add esp, 0x10
push edx
mov ecx, esi
call fcn.004b0110
fld dword [esp + 0x1c]
mov ecx, dword [edi]
fnstcw word [esp + 0x18]
push 1
movzx eax, word [esp + 0x1c]
fld st(0)
or eax, 0xc00
mov dword [esp + 0x40], eax
push ecx
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x14c], eax
mov ecx, dword [edi]
fldcw word [esp + 0x20]
fstp dword [esp]
call fcn.0048cd50
fldz
fcomp dword [ebx + 0x158]
fnstsw ax
fld dword [esp + 0x1c]
test ah, 5
jp 0x4deaa2
fld dword [ebx + 0x158]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4dea9a
fstp st(0)
fld dword [ebx + 0x158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
push 1
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0048cd50
fldz
mov ecx, dword [esp + 0x24]
fcom dword [ecx + 0x51c]
fnstsw ax
test ah, 5
jp 0x4deb16
fld dword [esp + 0x1c]
mov dword [ecx + 0x68c], 0
fld dword [ecx + 0x51c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4deae9
mov dword [ecx + 0x68c], 1
mov eax, dword [edi]
and dword [eax + 0x150], 0x3fffffff
cmp dword [ecx + 0x68c], 1
jne 0x4deb16
mov eax, dword [edi]
or dword [eax + 0x150], 0x40000000
mov eax, dword [edi]
or dword [eax + 0x150], 0x80000000
mov ecx, dword [esp + 0x34]
inc ebp
add edi, 4
add ecx, 4
sub dword [esp + 0x30], 1
mov dword [esp + 0x34], ecx
jne 0x4de995
fstp st(0)
call fcn.004605a0
mov ecx, dword [eax + 0x38]
call fcn.00464e90
mov eax, 1
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret