Function at 0x4d14e0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x634
mov eax, dword [0xa44344]
push ebx
push esi
push edi
mov eax, dword [eax + 0xdfc]
test eax, eax
je 0x4d1511
fld qword [eax]
fistp qword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x8c], ecx
jmp 0x4d151c
mov dword [esp + 0x8c], 0xe0000000
mov eax, dword [0xc10380]
mov ebx, dword [ebp + 8]
xor edx, edx
mov dword [esp + 0xa0], 0xb16d10
lea ecx, [eax - 1]
and eax, 0xffff
mov dword [0xb12b80], edx
mov dword [esp + 0x64], eax
mov eax, dword [0xb16c6c]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x74], edx
mov edx, dword [ebx + 0xc]
and ecx, 0xffff
mov dword [esp + 0x9c], 0xb12c60
mov dword [esp + 0x98], ecx
mov dword [esp + 0xd0], edx
mov dword [esp + 0xc8], eax
call fcn.004c5810
mov ecx, dword [0xbcab20]
mov edx, dword [0xbcab24]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x90], edx
fld dword [esp + 0x84]
fld1
mov ecx, 0x10
mov esi, 0xb12be0
fpatan
lea edi, [esp + 0x200]
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x548060
fcos
fdivr dword [0x534b10]
fmul dword [0x534b0c]
fstp dword [esp + 0x6c]
fld dword [esp + 0x90]
fld1
fpatan
fcos
fdivr dword [0x534b10]
fmul dword [0x534b0c]
fstp dword [esp + 0x50]
mov dl, byte [ecx]
add ecx, 4
mov byte [esp + eax + 0x1c0], dl
inc eax
cmp eax, 0x40
jl 0x4d15ec
fld qword [0xbcab08]
fld qword [0xbcab10]
mov ecx, 0xa
mov esi, 0xbcaae0
fstp dword [esp + 0xa8]
fld qword [0xbcab18]
lea edi, [esp + 0xd8]
fstp dword [esp + 0xac]
rep movsd dword es:[edi], dword [esi]
fistp qword [esp + 0x14]
fld dword [esp + 0xa8]
mov eax, dword [esp + 0x14]
mov esi, dword [0xb12bc0]
mov dword [esp + 0xbc], eax
add eax, esi
neg eax
fistp qword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x38], eax
mov eax, dword [0xb12bc4]
mov dword [esp + 0xc0], ecx
add eax, ecx
mov ecx, dword [0xb12bc8]
neg eax
mov dword [esp + 0x34], eax
mov esi, 0x40000000
fld dword [esp + 0xac]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0xc4], edx
lea eax, [edx + ecx]
neg eax
mov dword [esp + 0x3c], eax
fild dword [esp + 0x38]
fild dword [esp + 0x34]
fild dword [esp + 0x3c]
fld dword [esp + 0xe0]
fmul st(1)
fld dword [esp + 0xdc]
fmul st(3)
faddp st(1)
fld dword [esp + 0xd8]
fmul st(4)
faddp st(1)
fstp dword [esp + 0xa4]
fld dword [esp + 0xec]
fmul st(1)
fld dword [esp + 0xe8]
fmul st(3)
faddp st(1)
fld dword [esp + 0xe4]
fmul st(4)
faddp st(1)
fstp dword [esp + 0xa8]
fld dword [esp + 0xf8]
fmul st(1)
fld dword [esp + 0xf4]
fmul st(3)
faddp st(1)
fld dword [esp + 0xf0]
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
fld dword [esp + 0xa4]
fistp qword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x44], edx
mov edx, 0xc0000000
fld dword [esp + 0xa8]
fistp qword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x48], eax
fistp qword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], ecx
xor ecx, ecx
xor eax, eax
test cl, 1
mov dword [esp + eax + 0x100], edx
je 0x4d1766
mov dword [esp + eax + 0x100], esi
test cl, 2
mov dword [esp + eax + 0x104], edx
je 0x4d1779
mov dword [esp + eax + 0x104], esi
test cl, 4
mov dword [esp + eax + 0x108], edx
je 0x4d178c
mov dword [esp + eax + 0x108], esi
fild dword [esp + eax + 0x100]
fild dword [esp + eax + 0x104]
fild dword [esp + eax + 0x108]
add eax, 0xc
inc ecx
cmp eax, 0x60
fld st(0)
fmul dword [esp + 0xe0]
fld st(2)
fmul dword [esp + 0xdc]
faddp st(1)
fld st(3)
fmul dword [esp + 0xd8]
faddp st(1)
fstp dword [esp + 0xa4]
fld st(0)
fmul dword [esp + 0xec]
fld st(2)
fmul dword [esp + 0xe8]
faddp st(1)
fld st(3)
fmul dword [esp + 0xe4]
faddp st(1)
fstp dword [esp + 0xa8]
fmul dword [esp + 0xf8]
fxch st(1)
fmul dword [esp + 0xf4]
faddp st(1)
fxch st(1)
fmul dword [esp + 0xf0]
faddp st(1)
fld dword [esp + 0xa4]
fistp qword [esp + 0x14]
mov edi, dword [esp + 0x14]
mov dword [esp + eax + 0x154], edi
fld dword [esp + 0xa8]
fistp qword [esp + 0x14]
mov edi, dword [esp + 0x14]
mov dword [esp + eax + 0x158], edi
fistp qword [esp + 0x14]
mov edi, dword [esp + 0x14]
mov dword [esp + eax + 0x15c], edi
jl 0x4d1753
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x244], 0
test eax, eax
je 0x4d1882
mov cl, byte [eax + 0x38]
add eax, 0x20
and cl, 0xf0
mov dword [esp + 0x240], eax
mov byte [eax + 0x18], cl
mov dword [esp + 0x244], 2
mov ecx, 0xa
mov esi, 0x548444
xor eax, eax
lea edx, [esp + 0xa4]
sub esi, ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], esi
movsx edx, byte [esi + ecx]
mov edx, dword [ebx + edx*4 + 0x10]
test edx, edx
je 0x4d19a3
lea edi, [eax + 0xa4ef38]
mov ecx, 0x10
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0xa4ef60]
mov esi, dword [esp + 0x244]
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0xa4ef5c]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0xa4ef58]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0xa4ef54]
mov dword [edx + 0x18], ecx
mov ecx, dword [eax + 0xa4ef50]
mov dword [edx + 0x1c], ecx
mov ecx, dword [eax + 0xa4ef4c]
mov dword [edx + 0x20], ecx
mov ecx, dword [eax + 0xa4ef48]
mov dword [edx + 0x24], ecx
mov eax, dword [eax + 0xa4ef44]
mov dword [edx + 0x28], eax
xor eax, eax
mov al, byte [edx + 0x30]
mov ecx, eax
mov bl, al
sar ecx, 1
and bl, 1
and cl, 1
shl bl, 1
add cl, bl
mov ebx, eax
sar ebx, 2
shl cl, 1
and bl, 1
add cl, bl
mov ebx, eax
sar ebx, 3
shl cl, 1
and bl, 1
add cl, bl
mov ebx, eax
sar ebx, 4
shl cl, 1
and bl, 1
add cl, bl
mov ebx, eax
sar ebx, 5
shl cl, 1
and bl, 1
add cl, bl
mov ebx, eax
sar ebx, 6
shl cl, 1
and bl, 1
add cl, bl
mov ebx, dword [ebp + 8]
sar eax, 7
shl cl, 1
and al, 1
add cl, al
mov eax, dword [esp + 0x28]
mov byte [edx + 0x30], cl
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0xa5374c], edx
mov edx, 1
shl edx, cl
or esi, edx
lea edx, [eax + 0xa53740]
mov dword [esp + 0x244], esi
mov esi, dword [esp + 0xc]
mov dword [esi], edx
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
inc ecx
add edx, 4
add eax, 0x40
mov dword [esp + 0xc], edx
lea edx, [ecx - 0xa]
cmp edx, 5
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], eax
jb 0x4d18a7
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
mov edx, dword [esp + 0x168]
mov edi, dword [esp + 0x40]
sub ecx, eax
mov eax, dword [esp + 0x100]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x164]
sub ebx, ecx
mov ecx, dword [esp + 0x104]
sub edi, edx
mov edx, dword [esp + 0x34]
sub edx, ecx
sub esi, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 0x38], esi
sub eax, edx
lea esi, [esp + 0x240]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], eax
or ebx, 0xffffffff
mov dword [esp + 0x30], esi
mov dword [esp + 0x68], 0
mov eax, dword [esi + 4]
mov edx, eax
mov ecx, eax
sar edx, 7
and edx, 7
sar ecx, 0xa
mov dword [esp + 0x60], ecx
lea ecx, [edx + edx*2]
shl ecx, 2
test al, 1
lea edi, [esp + ecx + 0x160]
lea ecx, [esp + ecx + 0x100]
mov dword [esp + 0x24], edx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x54], ecx
je 0x4d1c02
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4d1b74
lea edx, [esp + 0xa4]
mov dword [esp + 0xc], 1
mov dword [esp + 0x30], edx
mov dword [esp + 0x1c], 5
mov ecx, pe_nt_image_headers32
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0xc]
test eax, edx
je 0x4d1b50
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
mov dword [esp + 0x24], eax
mov edi, dword [eax + 8]
test word [eax + 0x38], cx
mov dword [edx], edi
je 0x4d1afd
mov edi, dword [eax + 0x2c]
test word [edi + 0x5c], cx
je 0x4d1af6
mov edx, dword [edi + 0x48]
xor ecx, ecx
mov cx, word [edi + 0x1c]
push edx
push edi
call dword [ecx*4 + 0xa9cae0]
mov eax, dword [esp + 0x2c]
add esp, 8
mov ecx, pe_nt_image_headers32
mov edi, dword [edi + 0x58]
test edi, edi
jne 0x4d1ad2
test byte [eax + 0x38], 2
je 0x4d1b4c
mov eax, dword [eax + 0x2c]
mov edx, 8
test byte [eax + 0x5c], 2
je 0x4d1b45
mov edi, dword [eax + 0x60]
test edi, edi
jne 0x4d1b45
mov edi, dword [0xb12c58]
mov dword [edi + 4], eax
mov edi, dword [0xb12c58]
mov byte [edi], 5
mov edi, dword [0xb12c58]
add edi, edx
mov dword [0xb12c58], edi
mov edi, dword [0xb12c20]
inc edi
mov dword [0xb12c20], edi
mov eax, dword [eax + 0x58]
test eax, eax
jne 0x4d1b0b
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
shl eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1c]
add edx, 4
dec eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x1c], eax
jne 0x4d1aaa
mov eax, dword [edi]
mov ecx, ebx
sar eax, cl
mov ecx, dword [esp + 0x44]
mov edx, dword [edi + 4]
fld dword [esp + 0x6c]
fadd st(0), st(0)
sub ecx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x44], ecx
mov ecx, ebx
sar edx, cl
fstp dword [esp + 0x6c]
fld dword [esp + 0x50]
fadd st(0), st(0)
sub eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [edi + 8]
sar eax, cl
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x34]
fstp dword [esp + 0x50]
sub ecx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x40], ecx
mov ecx, ebx
mov edx, dword [eax]
sar edx, cl
mov ecx, dword [esp + 0x38]
sub ecx, edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x38], ecx
mov ecx, ebx
sar edx, cl
sar eax, cl
mov ecx, dword [esp + 0x68]
sub edi, edx
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x3c]
sub edi, eax
dec ebx
inc ecx
sub esi, 8
mov dword [esp + 0x3c], edi
mov dword [esp + 0x68], ecx
mov dword [esp + 0x30], esi
jmp 0x4d2318
or al, 1
xor ecx, ecx
test al, 2
mov dword [esi + 4], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x70], ecx
je 0x4d1c33
mov ecx, dword [esi]
sar eax, 4
and eax, 7
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [ecx + 0x18]
xor ecx, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x7c], ecx
cmp eax, ecx
mov dword [0xb12bb8], ecx
je 0x4d1d33
lea ecx, [esp + 0xa4]
mov dword [esp + 0xc], 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], 5
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0xc]
test eax, edi
je 0x4d1d13
mov eax, dword [ecx]
mov edi, dword [esp + 0x7c]
mov eax, dword [eax + edx*4 + 0xc]
mov dword [ecx], eax
xor ecx, ecx
mov cl, byte [eax + 0x30]
mov dword [esp + 0x20], eax
or edi, ecx
mov cl, byte [eax + 0x38]
test cl, 0x80
mov dword [esp + 0x7c], edi
je 0x4d1cc4
mov edi, dword [eax + 0x2c]
test byte [edi + 0x5c], 0x80
je 0x4d1cbd
mov eax, dword [edi + 0x48]
xor edx, edx
mov dx, word [edi + 0x1c]
push eax
push edi
call dword [edx*4 + 0xa9c4e0]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
add esp, 8
mov edi, dword [edi + 0x58]
test edi, edi
jne 0x4d1c9a
test byte [eax + 0x38], 1
je 0x4d1d0f
mov eax, dword [eax + 0x2c]
test byte [eax + 0x5c], 1
je 0x4d1d08
mov ecx, dword [eax + 0x60]
test ecx, ecx
jne 0x4d1d08
mov ecx, dword [0xb12c58]
mov dword [ecx + 4], eax
mov ecx, dword [0xb12c58]
mov byte [ecx], 4
mov edi, dword [0xb12c58]
mov ecx, dword [0xb12c20]
add edi, 8
inc ecx
mov dword [0xb12c58], edi
mov dword [0xb12c20], ecx
mov eax, dword [eax + 0x58]
test eax, eax
jne 0x4d1ccd
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
add ecx, 4
shl eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
dec eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], eax
jne 0x4d1c64
mov eax, dword [esp + 0x68]
inc ebx
dec eax
mov ecx, ebx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x58], ebx
mov edx, dword [eax]
sar edx, cl
mov ecx, dword [esp + 0x44]
fld dword [esp + 0x6c]
fmul dword [0x533504]
add ecx, edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], ecx
mov ecx, ebx
sar eax, cl
sar edx, cl
mov ecx, dword [esp + 0x40]
fstp dword [esp + 0x6c]
add ecx, eax
mov eax, dword [esp + 0x54]
add edi, edx
mov dword [esp + 0x40], ecx
mov edx, dword [eax]
mov ecx, ebx
sar edx, cl
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x48], edi
fld dword [esp + 0x50]
fmul dword [0x533504]
add ecx, edx
mov edx, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov ecx, ebx
sar edx, cl
mov ecx, dword [esp + 0x34]
mov eax, dword [eax + 8]
fstp dword [esp + 0x50]
add ecx, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x34], ecx
mov ecx, ebx
sar eax, cl
add edx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x160]
lea ecx, [esp + eax*8 + 0x1c0]
lea eax, [esp + eax*8 + 0x200]
mov dword [esp + 0x88], ecx
mov ecx, dword [0xb12bb8]
mov dword [esp + 0xd4], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x4c], edx
je 0x4d1e02
mov dword [esp + 0x70], eax
lea edi, [esp + 0x100]
lea ecx, [esp + 0x160]
sub edi, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x1c], 0xc
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x88]
movsx ecx, byte [eax]
inc eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x88], eax
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0xc]
and ecx, dword [esp + 0x7c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x5c], ecx
jne 0x4d1e6a
test dword [esp + 0x70], eax
je 0x4d22e6
mov ebx, dword [esp + 0x58]
mov eax, dword [edx + 8]
lea ecx, [ebx + 1]
mov ebx, dword [esp + 0x40]
sar eax, cl
add eax, ebx
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fst dword [esp + 0x10]
fld dword [esp + 0x50]
fsubr qword [0x534ae0]
fcompp
fnstsw ax
test ah, 1
je 0x4d22e6
mov eax, dword [edx]
mov ebx, dword [esp + 0x44]
sar eax, cl
add eax, ebx
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fld dword [esp + 0x10]
fmul dword [esp + 0x84]
fadd dword [esp + 0x6c]
fld st(1)
fcomp st(1)
fnstsw ax
test ah, 1
je 0x4d22d4
fchs
fxch st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x4d22e6
mov eax, dword [edx + 4]
mov ebx, dword [esp + 0x48]
sar eax, cl
add eax, ebx
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fld dword [esp + 0x10]
fmul dword [esp + 0x90]
fadd dword [esp + 0x50]
fld st(1)
fcomp st(1)
fnstsw ax
test ah, 1
je 0x4d22d4
fchs
fxch st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x4d22e6
mov ebx, dword [edi + edx + 8]
mov eax, dword [esp + 0x3c]
sar ebx, cl
add ebx, eax
mov eax, 0x40000000
sar eax, cl
mov dword [esp + 0x20], eax
add eax, ebx
add eax, dword [esp + 0xc4]
cmp eax, dword [esp + 0x8c]
jl 0x4d22e6
mov esi, dword [edi + edx]
mov edx, dword [edi + edx + 4]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
sar edx, cl
sar esi, cl
add edx, edi
xor edi, edi
add esi, eax
mov dword [esp + 0x14], edx
cmp esi, edi
mov eax, esi
jge 0x4d1f70
neg eax
cmp edx, edi
jge 0x4d1f76
neg edx
cmp edx, eax
jle 0x4d1f7c
mov eax, edx
cmp ebx, edi
mov ecx, ebx
jge 0x4d1f84
neg ecx
cmp ecx, eax
jle 0x4d1f8a
mov eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x10], edi
sub eax, ecx
mov ecx, dword [esp + 0x68]
add ecx, 0x19
mov dword [esp + 0x20], edi
sar eax, cl
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x5c]
cmp eax, edi
je 0x4d2027
fild dword [esp + 0x54]
fmul dword [0xbcab20]
fcomp dword [0x534b08]
fnstsw ax
test ah, 1
je 0x4d2027
mov edi, 1
lea ecx, [esp + 0xa4]
mov dword [esp + 0x5c], 5
test dword [esp + 0x60], edi
je 0x4d2017
mov eax, dword [ecx]
mov dl, byte [esp + 0xc]
test byte [eax + 0x30], dl
je 0x4d2017
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + eax]
mov dx, word [eax + 0x3a]
or dx, word [eax + 0x38]
test edx, 0x183
je 0x4d2017
mov edx, dword [esp + 0x10]
mov eax, edi
shl eax, 0xa
or edx, eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x5c]
add ecx, 4
shl edi, 1
dec eax
mov dword [esp + 0x5c], eax
jne 0x4d1fd8
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x78]
test ecx, eax
je 0x4d22a2
mov ecx, dword [esp + 0xcc]
mov edi, dword [esp + 0x80]
mov edx, dword [esp + 0xd0]
xor eax, eax
mov ax, word [ecx + edi*2]
shl eax, 5
add eax, edx
xor edx, edx
mov dl, byte [edi + ecx + 0x10]
mov ecx, dword [esp + 0xd4]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x94], eax
movsx ecx, byte [edx + ecx]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x80], ecx
cmp edi, edx
jge 0x4d20a4
mov edx, dword [esp + 0x58]
inc edx
cmp edx, 0x10
jge 0x4d20a4
mov edx, dword [esp + 0x10]
shl ecx, 4
or ecx, 2
or edx, ecx
mov dword [esp + 0x10], edx
jmp 0x4d22b1
mov eax, dword [esp + 0x58]
inc eax
cmp eax, 6
jle 0x4d22a2
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0x14]
add esi, ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x5c], esi
add ebx, ecx
lea edi, [eax + edx]
mov eax, ebx
mov edx, esi
sar eax, 2
and eax, 0x1ffc000
and edx, 0x1ffc000
xor eax, edx
mov ecx, edi
mov edx, ebx
and ecx, 0x3ff800
sar eax, 3
xor edx, edi
xor eax, ecx
xor edx, esi
mov dword [esp + 0x78], edi
sar eax, 5
and edx, 0x1ffc0
mov dword [esp + 0x14], ebx
xor eax, edx
sar eax, 6
lea ecx, [eax*8]
sub ecx, eax
shl ecx, 2
mov edx, dword [ecx + 0xb04350]
cmp edx, 0xffffffff
je 0x4d2168
cmp dword [esp + 0x98], edx
jne 0x4d214b
cmp dword [ecx + 0xb04340], esi
jne 0x4d214b
cmp dword [ecx + 0xb04344], edi
jne 0x4d214b
cmp dword [ecx + 0xb04348], ebx
je 0x4d2168
inc eax
and eax, 0x7ff
lea ecx, [eax*8]
sub ecx, eax
shl ecx, 2
mov edx, dword [ecx + 0xb04350]
cmp edx, 0xffffffff
jne 0x4d212a
lea ecx, [eax*8]
mov edx, 1
sub ecx, eax
lea eax, [ecx*4 + 0xb04340]
mov ecx, dword [esp + 0x98]
cmp ecx, dword [eax + 0x10]
jne 0x4d21bb
mov edx, dword [esp + 0x64]
mov ecx, dword [eax + 0x18]
mov dword [eax + 0x10], edx
xor edx, edx
test ecx, ecx
je 0x4d2420
mov esi, dword [esp + 0x9c]
mov dword [esi], ecx
mov ecx, dword [esp + 0x74]
add esi, 4
inc ecx
mov dword [esp + 0x9c], esi
mov dword [esp + 0x74], ecx
jmp 0x4d21e3
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x4d242f
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x14], 3
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov dword [eax + 0x10], ecx
cmp dword [esp + 0x2c], 0xfff
jle 0x4d21f8
inc dword [0xb12b80]
jmp 0x4d22a2
test edx, edx
je 0x4d22a2
mov ecx, dword [esp + 0xa0]
mov edx, dword [0xba5060]
sub ecx, 4
mov dword [ecx], eax
mov eax, dword [0xb97d24]
sub ecx, 4
test eax, eax
mov dword [ecx], edx
je 0x4d2239
mov edx, dword [0xba2058]
mov eax, dword [eax*4 + 0xb97b1c]
shl edx, 0x10
sub ecx, 4
or eax, edx
mov dword [ecx], eax
jmp 0x4d224d
mov edx, dword [0xba2058]
sub ecx, 4
shl edx, 0x10
or edx, 0xffff
mov dword [ecx], edx
mov eax, dword [esp + 0x94]
sub ecx, 4
fild dword [esp + 0x14]
mov edx, dword [eax + 0x1c]
mov eax, dword [esp + 0x80]
mov dword [ecx], edx
mov edx, dword [esp + 0x58]
sub ecx, 4
mov dword [ecx], eax
sub ecx, 4
lea eax, [edx + 1]
mov dword [ecx], eax
sub ecx, 8
mov eax, dword [esp + 0x2c]
fstp qword [ecx]
fild dword [esp + 0x78]
sub ecx, 8
fstp qword [ecx]
fild dword [esp + 0x5c]
sub ecx, 8
fstp qword [ecx]
add ecx, 0x60
inc eax
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4d22da
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
add esi, 8
shl ecx, 7
or ecx, edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x30], esi
mov dword [esi + 4], ecx
mov dword [esi], eax
jmp 0x4d22e2
fstp st(0)
fstp st(0)
jmp 0x4d22e6
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
add edx, 0xc
mov ebx, dword [esp + 0x58]
shl ecx, 1
inc eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0xc], ecx
cmp eax, 0x2c
mov dword [esp + 0x1c], eax
jl 0x4d1e2a
lea edx, [esp + 0x240]
cmp esi, edx
jae 0x4d1a42
mov ebx, dword [ebp + 8]
xor edx, edx
mov eax, 0xa4ef38
movsx ecx, byte [edx + 0x548444]
mov edi, dword [ebx + ecx*4 + 0x10]
test edi, edi
je 0x4d2349
mov ecx, 0x10
mov esi, eax
rep movsd dword es:[edi], dword [esi]
add eax, 0x40
inc edx
cmp eax, 0xa4f078
jb 0x4d2331
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0x74]
mov dword [0xb16ca4], edx
mov edx, esi
mov ecx, 0xb04358
and edx, 0xffff0000
and esi, 0xffff
mov dword [0xb16c9c], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], ecx
mov eax, dword [ecx - 8]
mov edi, eax
and edi, 0xffff0000
cmp edx, edi
jne 0x4d23ad
mov edi, eax
and edi, 0xffff
cmp edi, esi
jne 0x4d23bb
and eax, 0xffff
inc eax
cmp eax, esi
jge 0x4d2504
mov eax, dword [ecx]
test eax, eax
je 0x4d24f5
mov edx, dword [ecx - 4]
test edx, edx
jne 0x4d243e
mov esi, dword [0xb12b74]
mov edx, dword [esi + eax]
mov eax, dword [0xb12b68]
dec eax
cmp edx, eax
mov dword [0xb12b68], eax
je 0x4d24ef
mov ecx, dword [0xb12b64]
mov edi, dword [0xb12b60]
mov eax, dword [ecx + eax*4]
imul eax, dword [0xb12b70]
add eax, edi
mov edi, dword [ecx + edx*4]
mov esi, dword [esi + eax]
mov ebx, dword [ecx + esi*4]
mov dword [ecx + edx*4], ebx
mov ecx, dword [0xb12b64]
mov dword [ecx + esi*4], edi
mov ecx, dword [0xb12b74]
jmp 0x4d24e8
push str.Should_have_allocated_data_for_cube_existing_previous_frame
call fcn.004af7b0
add esp, 4
jmp 0x4d242d
push str.Shouldt_have_allocate_hash_data__ERROR_
call fcn.004af7b0
add esp, 4
jmp 0x4d243c
cmp edx, 1
jne 0x4d2494
mov esi, dword [0xb12c54]
mov edx, dword [esi + eax]
mov eax, dword [0xb12c48]
dec eax
cmp edx, eax
mov dword [0xb12c48], eax
je 0x4d24ef
mov ecx, dword [0xb12c44]
mov edi, dword [0xb12c40]
mov eax, dword [ecx + eax*4]
imul eax, dword [0xb12c50]
add eax, edi
mov edi, dword [ecx + edx*4]
mov esi, dword [esi + eax]
mov ebx, dword [ecx + esi*4]
mov dword [ecx + edx*4], ebx
mov ecx, dword [0xb12c44]
mov dword [ecx + esi*4], edi
mov ecx, dword [0xb12c54]
jmp 0x4d24e8
cmp edx, 2
jne 0x4d2526
mov esi, dword [0xb16cd4]
mov edx, dword [esi + eax]
mov eax, dword [0xb16cc8]
dec eax
cmp edx, eax
mov dword [0xb16cc8], eax
je 0x4d24ef
mov ecx, dword [0xb16cc4]
mov edi, dword [0xb16cc0]
mov eax, dword [ecx + eax*4]
imul eax, dword [0xb16cd0]
add eax, edi
mov edi, dword [ecx + edx*4]
mov esi, dword [esi + eax]
mov ebx, dword [ecx + esi*4]
mov dword [ecx + edx*4], ebx
mov ecx, dword [0xb16cc4]
mov dword [ecx + esi*4], edi
mov ecx, dword [0xb16cd4]
mov dword [ecx + eax], edx
mov ecx, dword [esp + 0x2c]
mov dword [ecx], 0
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x14]
mov dword [ecx - 8], 0xffffffff
mov eax, dword [esp + 0x24]
add ecx, 0x1c
inc eax
mov dword [esp + 0x2c], ecx
cmp eax, 0x800
mov dword [esp + 0x24], eax
jl 0x4d2392
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Illegal_alloc_info
call fcn.004af7b0
add esp, 4
jmp 0x4d2533