Function at 0x4f6d50
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x98
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor edi, edi
test byte [ebx + 0xae], 0x40
mov dword [ebp - 0x6c], 0xffffffff
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x78], edi
je 0x4f6dc7
test byte [ebx + 0xac], 4
jne 0x4f6dc7
mov ecx, dword [ebx + 0x28f8]
mov eax, dword [ebx]
mov edx, dword [eax + 0x34]
push ecx
push 0x8622410
push 0x20
mov ecx, ebx
call edx
mov esi, eax
cmp esi, edi
jl 0x4f7b03
mov ecx, dword [ebx + 0x28f4]
mov eax, dword [ebx]
mov edx, dword [eax + 0x34]
push ecx
push 0xcc732628
push 0x10
mov ecx, ebx
call edx
mov esi, eax
cmp esi, edi
jl 0x4f7b03
test byte [ebx + 0xae], 0x80
je 0x4f6e64
mov eax, dword [ebx + 4]
cmp eax, edi
jbe 0x4f6de0
mov ecx, dword [ebx + 0x28]
mov edi, dword [ecx]
test eax, eax
mov dword [ebp - 0xc], 0
jbe 0x4f6e64
jmp 0x4f6df0
mov eax, dword [edi + 8]
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x4f6e41
cmp dword [edi + 0x20], ecx
jbe 0x4f6e41
mov eax, dword [ebx + 0x28e4]
lea edx, [ebp - 0x24]
push edx
push eax
push ebx
call fcn.004ca6f0
mov esi, eax
test esi, esi
jl 0x4f7b03
mov eax, dword [ebp - 0x24]
push edi
push eax
mov dword [eax + 0x18], edi
mov edx, dword [ebx]
mov eax, dword [edx + 0x38]
push 0x822180
push 0x200
mov ecx, ebx
call eax
mov esi, eax
test esi, esi
jl 0x4f7b03
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebx + 4]
add eax, 1
cmp eax, ecx
mov dword [ebp - 0xc], eax
jb 0x4f6e5a
mov eax, ecx
xor edi, edi
mov dword [ebp - 0xc], eax
jmp 0x4f6e60
mov edx, dword [ebx + 0x28]
mov edi, dword [edx + eax*4]
cmp eax, ecx
jb 0x4f6df0
push ebx
call fcn.004e9400
mov eax, dword [ebx + 0x28fc]
mov eax, dword [eax + 0x24]
xor edx, edx
test eax, eax
je 0x4f6e91
lea esp, [esp]
mov ecx, dword [eax + 0x28]
cmp ecx, edx
jb 0x4f6e8a
lea edx, [ecx + 1]
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4f6e80
mov eax, dword [ebx + 0x2938]
mov eax, dword [eax + 0x24]
xor ecx, ecx
test eax, eax
mov dword [ebp - 0x28], edx
je 0x4f6eb4
mov esi, dword [eax + 0x28]
cmp esi, ecx
jb 0x4f6ead
lea ecx, [esi + 1]
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4f6ea3
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp eax, 0x3ffffffd
mov dword [ebp - 0x64], ecx
jbe 0x4f6ecb
mov eax, 0x80070216
jmp 0x4f6f31
add eax, eax
add eax, eax
jne 0x4f6ed6
mov eax, 4
test eax, eax
mov dword [ebp - 0x78], eax
mov esi, eax
lea edi, [ebx + 0x29b0]
ja 0x4f6eea
mov esi, 1
mov eax, dword [edi]
test eax, eax
je 0x4f6efa
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
cmp esi, ecx
jbe 0x4f6f09
mov ecx, esi
call fcn.0048cb80
test eax, eax
je 0x4f6f09
xor eax, eax
jmp 0x4f6f1d
mov ecx, dword [edi]
test ecx, ecx
je 0x4f6f18
mov edx, dword [ecx + 8]
lea eax, [edx + ecx + 0x10]
jmp 0x4f6f1a
xor eax, eax
add dword [ecx + 8], esi
mov dword [ebp - 0x84], eax
neg eax
sbb eax, eax
and eax, 0x7ff8fff2
add eax, 0x8007000e
test eax, eax
mov esi, eax
jl 0x4f7b03
mov eax, dword [ebp - 0x78]
mov esi, dword [ebp - 0x84]
push eax
push 0
push esi
call sub.msvcrt.dll_memset
mov eax, dword [ebx + 0x28fc]
mov eax, dword [eax + 0x24]
add esp, 0xc
test eax, eax
je 0x4f6f7a
lea ecx, [ecx]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
cmp dword [esi + ecx*4], edx
lea ecx, [esi + ecx*4]
ja 0x4f6f73
add edx, 1
mov dword [ecx], edx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4f6f60
mov ecx, dword [ebx + 0x10]
test ecx, ecx
mov dword [ebp - 0x68], ecx
jbe 0x4f6f8b
mov edx, dword [ebx + 0x14]
mov eax, dword [edx]
jmp 0x4f6f8d
xor eax, eax
test ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0
jbe 0x4f7a75
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
cmp eax, dword [ecx + 0x10]
jae 0x4f7a75
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi + 0x38]
mov eax, ecx
and eax, 0xfff00000
je 0x4f7a42
cmp eax, 0x21f00000
ja 0x4f7000
je 0x4f702e
cmp eax, 0x20500000
ja 0x4f6fed
je 0x4f702e
cmp eax, 0x20000000
je 0x4f702e
cmp eax, 0x20100000
je 0x4f702e
cmp eax, 0x20400000
je 0x4f702e
jmp 0x4f71d2
cmp eax, 0x21d00000
je 0x4f702e
cmp eax, 0x21e00000
je 0x4f702e
jmp 0x4f71d2
cmp eax, 0x23100000
ja 0x4f701c
je 0x4f702e
cmp eax, 0x22000000
je 0x4f702e
cmp eax, 0x23000000
je 0x4f702e
jmp 0x4f71d2
cmp eax, 0x23300000
je 0x4f702e
cmp eax, 0x50000000
jne 0x4f71d2
mov edx, dword [esi]
mov eax, ecx
and eax, 0xfffff
cmp eax, edx
jbe 0x4f7041
xor edi, edi
xor ecx, ecx
jmp 0x4f7046
mov edi, dword [esi + 4]
mov ecx, eax
lea ebx, [eax + eax]
cmp ebx, edx
mov dword [ebp - 0x40], edi
jbe 0x4f7054
xor eax, eax
jmp 0x4f705a
mov edx, dword [esi + 4]
lea eax, [edx + eax*4]
cmp ecx, 1
mov dword [ebp - 0x20], eax
jbe 0x4f71d2
sub edi, eax
add ecx, 0xffffffff
lea ebx, [eax + 4]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x2c], ecx
mov esi, dword [edi + ebx]
cmp esi, dword [ebx]
je 0x4f71c2
mov eax, dword [ebp - 0x40]
mov edx, dword [eax]
cmp edx, 0xffffffff
mov dword [ebp - 0x24], edx
je 0x4f70ad
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 8]
and eax, 0x100
xor ecx, ecx
or eax, ecx
je 0x4f70ad
mov eax, dword [edx + 8]
and eax, 0x800
or eax, ecx
mov byte [ebp - 0x15], 1
jne 0x4f70b1
mov byte [ebp - 0x15], 0
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
cmp ecx, 0xffffffff
je 0x4f70de
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 8]
and eax, 0x100
xor edx, edx
or eax, edx
je 0x4f70de
mov eax, dword [ecx + 8]
and eax, 0x800
xor ecx, ecx
or eax, ecx
mov byte [ebp - 5], 1
jne 0x4f70e2
mov byte [ebp - 5], 0
cmp esi, 0xffffffff
je 0x4f7108
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
and eax, 0x100
xor ecx, ecx
or eax, ecx
je 0x4f7108
mov eax, dword [esi + 8]
and eax, 0x800
or eax, ecx
je 0x4f7108
mov dl, 1
jmp 0x4f710a
xor dl, dl
mov esi, dword [ebx]
cmp esi, 0xffffffff
je 0x4f7132
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
and eax, 0x100
xor ecx, ecx
or eax, ecx
je 0x4f7132
mov eax, dword [esi + 8]
and eax, 0x800
or eax, ecx
je 0x4f7132
mov al, 1
jmp 0x4f7134
xor al, al
test dl, dl
je 0x4f7140
test al, al
jne 0x4f71c2
cmp byte [ebp - 0x15], 0
je 0x4f714e
test dl, dl
jne 0x4f714e
test al, al
jne 0x4f71b0
cmp byte [ebp - 5], 0
je 0x4f715c
test dl, dl
je 0x4f715c
test al, al
je 0x4f71b0
mov edx, dword [ebp + 8]
mov edi, dword [ebp - 0x24]
push edx
call fcn.005004a0
test al, al
je 0x4f71bf
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x40]
mov esi, dword [ecx + ebx]
mov edi, dword [edx]
push eax
call fcn.005004a0
test al, al
jne 0x4f71bf
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
mov esi, dword [ecx + ebx]
mov edi, dword [edx]
push eax
call fcn.005004a0
test al, al
je 0x4f71bf
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebx]
mov edi, dword [ecx]
push eax
call fcn.005004a0
test al, al
jne 0x4f71bf
mov edi, dword [ebp - 0x14]
mov edx, dword [ebx]
mov eax, dword [edi + ebx]
mov dword [edi + ebx], edx
mov dword [ebx], eax
jmp 0x4f71c2
mov edi, dword [ebp - 0x14]
add ebx, 4
sub dword [ebp - 0x2c], 1
jne 0x4f7074
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x38]
and eax, 0xfff00000
cmp eax, 0x50700000
mov byte [ebp - 5], 1
ja 0x4f71fd
je 0x4f72d4
cmp eax, 0x50400000
je 0x4f72d4
cmp eax, 0x50500000
jmp 0x4f7202
cmp eax, 0x50800000
je 0x4f72d4
cmp eax, 0x80000000
je 0x4f72d4
cmp eax, 0x90200000
je 0x4f72d4
cmp eax, 0x90100000
je 0x4f72d4
mov edi, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x10]
xor esi, esi
mov eax, dword [ebx + 0x38]
and eax, 0xfffff
mov ecx, eax
imul ecx, esi
lea edx, [ecx + eax]
cmp edx, dword [ebx]
ja 0x4f7275
test eax, eax
mov edx, dword [ebx + 4]
lea ecx, [edx + ecx*4]
je 0x4f7275
mov edx, dword [ebp - 0x68]
push 0xffffffffffffffff
push edx
push ebx
lea edx, [ebp - 0x28]
push edx
push edi
push eax
mov eax, dword [ebp + 8]
push ecx
push eax
call fcn.00500790
test al, al
jne 0x4f7270
mov byte [ebp - 5], al
add esi, 1
jmp 0x4f7234
cmp byte [ebp - 5], 0
jne 0x4f7286
mov eax, ebx
call fcn.004cd530
test al, al
je 0x4f72d4
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x88]
push ecx
push ebx
push edx
call fcn.004ca820
mov esi, eax
test esi, esi
jl 0x4f7b03
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x10]
xor ecx, ecx
cmp dword [eax + 8], ecx
jbe 0x4f7a42
mov esi, dword [eax + 0xc]
mov esi, dword [esi + ecx*4]
mov dword [esi + 0x6c], eax
mov esi, dword [eax + 0xc]
mov esi, dword [esi + ecx*4]
add ecx, 1
mov dword [esi + 0x70], edx
cmp ecx, dword [eax + 8]
jb 0x4f72b5
jmp 0x4f7a42
mov edi, dword [ebp - 0x10]
mov esi, dword [edi + 0x38]
mov eax, dword [edi]
mov ecx, esi
xor ebx, ebx
and ecx, 0xfffff
cmp ecx, eax
mov dword [ebp - 0x34], ebx
jbe 0x4f732f
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x38], ebx
xor eax, eax
mov word [ebp - 0x4b], ax
mov byte [ebp - 0x49], al
mov eax, dword [edi + 0xc]
mov edx, dword [eax]
mov eax, esi
and eax, 0xfff00000
cmp eax, 0x50700000
mov byte [ebp - 0x4c], 0
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x3c], 0xffffffff
ja 0x4f733f
je 0x4f735b
cmp eax, 0x50400000
je 0x4f735b
cmp eax, 0x50500000
jmp 0x4f7344
cmp ecx, ebx
mov dword [ebp - 0x1c], ecx
je 0x4f72f2
xor edx, edx
div ecx
mov dword [ebp - 0x38], eax
jmp 0x4f72f5
cmp eax, 0x50800000
je 0x4f735b
cmp eax, 0x80000000
je 0x4f735b
cmp eax, 0x90200000
jne 0x4f7364
mov eax, dword [edi + 4]
mov edx, dword [eax]
jmp 0x4f7361
mov eax, dword [edi + 4]
mov edx, dword [eax + ecx*8]
mov dword [ebp - 0x3c], edx
cmp ecx, ebx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x20], ebx
jbe 0x4f7a42
lea eax, [ebp - 0x98]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], 0
mov ecx, ebx
cmp byte [ebp + ecx - 0x4c], 0
jne 0x4f77dd
cmp ecx, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], ecx
jae 0x4f742a
cmp byte [ebp + ecx - 0x4c], 0
jne 0x4f741b
cmp dword [ebp - 0x38], 0
mov dword [ebp - 0x14], 0
jbe 0x4f7408
mov edx, dword [ebp - 0x1c]
lea eax, [edx*4]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x60], eax
jmp 0x4f73d3
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 4]
add eax, dword [ebp - 0x30]
mov ebx, dword [ebp + 8]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x40]
mov edi, dword [ecx + eax]
call fcn.004fb7a0
test al, al
je 0x4f7405
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x60]
add dword [ebp - 0x30], edx
add eax, 1
cmp eax, dword [ebp - 0x38]
mov dword [ebp - 0x14], eax
jb 0x4f73d0
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x38]
jne 0x4f741b
mov eax, 1
sub dword [ebp - 0x50], eax
add dword [ebp - 0x44], eax
add ecx, 1
cmp ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x48], ecx
jb 0x4f73a4
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x38]
mov ecx, dword [ebp + 8]
and eax, 0xfff00000
mov edx, eax
xor edx, dword [ebp - 0x44]
push 0xffffffffffffffff
push 0xffffffffffffffff
and edx, 0xfffff
xor edx, eax
push edx
lea eax, [ebp - 0x5c]
push eax
push ecx
call fcn.004ca530
mov esi, eax
test esi, esi
jl 0x4f7b03
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x30]
mov edi, dword [ebp - 0x5c]
mov dword [edi + 0x30], edx
mov eax, dword [eax + 0x34]
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
mov ebx, eax
jbe 0x4f7614
mov edx, dword [ebp - 0x44]
add eax, eax
add eax, eax
lea edx, [edx*4 - 4]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x14], eax
sub dword [ebp - 0x14], 4
sub ebx, 1
cmp byte [ebp + ebx - 0x4c], 0
lea eax, [ebp + ebx - 0x4c]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], eax
jne 0x4f760b
xor eax, eax
cmp dword [ebp - 0x38], eax
mov dword [ebp - 0x2c], eax
jbe 0x4f7555
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 4]
add eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x40]
mov esi, dword [eax + edx]
mov edi, dword [ecx + eax]
mov ebx, dword [ebp + 8]
call fcn.004fb7a0
test al, al
je 0x4f74f9
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x60]
add dword [ebp - 0x48], edx
add eax, 1
cmp eax, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
jb 0x4f74c2
jmp 0x4f7505
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x2c], eax
jb 0x4f7602
mov ecx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x38]
lea eax, [ecx*4]
xor esi, esi
xor edx, edx
mov dword [ebp - 0x2c], eax
lea esp, [esp]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 4]
mov ebx, dword [ebp - 0x14]
add eax, edx
mov eax, dword [eax + ebx]
mov ebx, dword [ebp - 0x30]
add edx, dword [ebp - 0x60]
add ecx, esi
add esi, dword [ebp - 0x2c]
sub edi, 1
mov dword [ecx + ebx], eax
jne 0x4f7520
mov ecx, dword [ebp - 0x70]
mov edi, dword [ebp - 0x5c]
mov edx, ebx
mov ebx, dword [ebp - 0x74]
mov byte [ecx], 1
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi + 0x38]
mov eax, ecx
and eax, 0xfff00000
cmp eax, 0x90200000
jne 0x4f757d
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + edx], ecx
sub edx, 4
mov dword [ebp - 0x30], edx
jmp 0x4f760b
cmp eax, 0x50700000
ja 0x4f7594
je 0x4f75eb
cmp eax, 0x50400000
je 0x4f75eb
cmp eax, 0x50500000
jmp 0x4f7599
cmp eax, 0x50800000
je 0x4f75eb
cmp eax, 0x80000000
je 0x4f75eb
and ecx, 0xf0000000
cmp ecx, 0x10000000
jb 0x4f75b8
cmp ecx, 0x40000000
jbe 0x4f75bf
cmp eax, 0x90100000
jne 0x4f75fa
mov eax, dword [esi + 0xc]
mov ecx, dword [edi + 0xc]
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + eax]
mov dword [edx + ecx], eax
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + edx]
mov ecx, dword [edi + 0x10]
mov dword [eax + 0x70], ecx
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + edx]
sub edx, 4
mov dword [ecx + 0x6c], edi
mov dword [ebp - 0x30], edx
jmp 0x4f760b
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x44]
lea eax, [eax + ecx*8]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + edx], ecx
sub edx, 4
mov dword [ebp - 0x30], edx
jmp 0x4f760b
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x74]
mov edi, dword [ebp - 0x5c]
cmp ebx, dword [ebp - 0x20]
ja 0x4f7495
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x38]
and eax, 0xfff00000
cmp eax, 0x90200000
jne 0x4f7677
cmp dword [ebp - 0x50], 0
je 0x4f76f1
fldz
mov ebx, dword [ebp - 0x54]
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp + 8]
sub esp, 8
fstp qword [esp]
push 0
push 0
push 0
push 0
push eax
lea ecx, [ebp - 0x3c]
push ecx
push edx
call fcn.004ca3c0
mov esi, eax
test esi, esi
jl 0x4f7b03
mov ecx, dword [edi + 0xc]
mov eax, dword [ebp - 0x3c]
mov dword [ecx], eax
mov edx, dword [ebx + 0x30]
mov dword [eax + 0x30], edx
mov cl, byte [ebx + 0x34]
mov byte [eax + 0x34], cl
jmp 0x4f76f9
cmp eax, 0x50700000
ja 0x4f768e
je 0x4f769c
cmp eax, 0x50400000
je 0x4f769c
cmp eax, 0x50500000
jmp 0x4f7693
cmp eax, 0x50800000
je 0x4f769c
cmp eax, 0x80000000
jne 0x4f76f9
cmp dword [ebp - 0x50], 0
je 0x4f76f1
fldz
mov eax, dword [ebp + 8]
mov ebx, dword [ebp - 0x64]
mov ecx, dword [eax + 0x2938]
sub esp, 8
fstp qword [esp]
push 0
push 0
push 0
push ebx
push ecx
lea edx, [ebp - 0x3c]
push edx
push eax
call fcn.004ca3c0
mov esi, eax
add ebx, 1
test esi, esi
mov dword [ebp - 0x64], ebx
jl 0x4f7b03
mov ecx, dword [edi + 0xc]
mov eax, dword [ebp - 0x3c]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx + 0x30]
mov dword [eax + 0x30], edx
mov cl, byte [ecx + 0x34]
mov byte [eax + 0x34], cl
jmp 0x4f76f9
mov edx, dword [edi + 0xc]
mov eax, dword [ebp - 0x54]
mov dword [edx], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x38]
and eax, 0xfff00000
cmp eax, 0x50000000
je 0x4f7716
cmp eax, 0x70800000
jne 0x4f77dd
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x44], edx
jne 0x4f7743
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
mov edx, dword [edi + 0xc]
mov dword [edx], eax
mov ecx, dword [edi + 0xc]
mov edx, dword [ecx]
mov eax, dword [edi + 0x10]
mov dword [edx + 0x70], eax
mov ecx, dword [edi + 0xc]
mov edx, dword [ecx]
mov dword [edx + 0x6c], edi
jmp 0x4f77dd
fldz
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
sub esp, 8
fstp qword [esp]
push 0
push 0
push eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x28fc]
push ecx
push edx
push ebx
push eax
call fcn.004ca3c0
mov esi, eax
test esi, esi
jl 0x4f7b03
mov eax, dword [edi + 0xc]
mov ecx, dword [ebx]
mov edx, dword [ebp - 0x10]
mov dword [eax], ecx
mov eax, dword [edx + 0xc]
mov eax, dword [eax]
mov ecx, dword [edi + 0xc]
mov ecx, dword [ecx]
mov edx, dword [eax + 0x30]
mov dword [ecx + 0x30], edx
mov al, byte [eax + 0x34]
push 0
mov byte [ecx + 0x34], al
mov ecx, dword [ebp + 8]
push edi
push ecx
call fcn.004d3b90
mov esi, eax
test esi, esi
jl 0x4f7b03
mov edx, dword [edi + 0x38]
and edx, 0xfffff
cmp edx, 1
jne 0x4f77c0
mov dword [edi + 0x38], 0x20500001
mov eax, dword [edi + 0xc]
mov ecx, dword [eax]
mov edx, dword [edi + 0x10]
add dword [ebp - 0x34], 1
mov dword [ecx + 0x70], edx
mov eax, dword [edi + 0xc]
mov ecx, dword [eax]
add ebx, 4
mov dword [ecx + 0x6c], edi
mov dword [ebp - 0x24], ebx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x40], 4
add ecx, 1
cmp ecx, eax
mov dword [ebp - 0x20], ecx
jb 0x4f7387
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x4f7a42
cmp eax, 2
jne 0x4f7870
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x20400001
lea edx, [ebp - 0x58]
push edx
push eax
call fcn.004ca530
mov esi, eax
test esi, esi
jl 0x4f7b03
xor edx, edx
jmp 0x4f7830
mov ecx, dword [ebp + edx*4 - 0x98]
mov ecx, dword [ecx + 0x6c]
mov eax, dword [ecx + 0x38]
mov esi, eax
and esi, 0xfff00000
cmp esi, 0x10000000
jne 0x4f7863
and eax, 0xfffff
cmp eax, 1
jne 0x4f7863
mov eax, dword [ecx + 4]
mov ecx, dword [eax]
mov dword [ebp + edx*4 - 0x98], ecx
add edx, 1
cmp edx, 2
jb 0x4f7830
jmp 0x4f7998
jbe 0x4f7972
mov edx, dword [ebp + 8]
test byte [edx + 0xa8], 2
je 0x4f7972
cmp eax, 1
mov dword [ebp - 0x24], 1
jbe 0x4f7a42
lea ebx, [ebp - 0x94]
lea esp, [esp]
mov ecx, dword [ebp + 8]
add dword [ebp - 0x28], 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x20400001
lea eax, [ebp - 0x58]
push eax
push ecx
call fcn.004ca530
mov esi, eax
test esi, esi
jl 0x4f7b03
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x30]
mov edi, dword [ebp - 0x58]
mov dword [edi + 0x30], edx
mov ecx, dword [eax + 0x34]
mov dword [edi + 0x34], ecx
mov edx, dword [edi + 4]
mov ecx, dword [ebx - 4]
mov dword [edx], ecx
mov ecx, dword [ebx]
mov edx, dword [edi + 4]
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0x24]
add ecx, 1
cmp ecx, dword [ebp - 0x34]
mov dword [ebp - 0x70], ecx
jae 0x4f7925
fldz
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x28]
mov ecx, dword [eax + 0x28fc]
sub esp, 8
fstp qword [esp]
push 0
push 0
push 0
push edx
push ecx
push ebx
push eax
call fcn.004ca3c0
mov esi, eax
test esi, esi
jl 0x4f7b03
mov eax, dword [ebx]
jmp 0x4f792a
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
mov edx, dword [edi + 0xc]
mov ecx, dword [ebp - 0x10]
mov dword [edx], eax
mov edx, dword [ecx + 0xc]
mov eax, dword [edx]
mov edx, dword [eax + 0x30]
mov ecx, dword [edi + 0xc]
mov ecx, dword [ecx]
mov dword [ecx + 0x30], edx
mov al, byte [eax + 0x34]
mov byte [ecx + 0x34], al
mov ecx, dword [edi + 0xc]
mov edx, dword [ecx]
mov eax, dword [edi + 0x10]
mov dword [edx + 0x70], eax
mov ecx, dword [edi + 0xc]
mov eax, dword [ebp - 0x70]
mov edx, dword [ecx]
add ebx, 4
cmp eax, dword [ebp - 0x34]
mov dword [edx + 0x6c], edi
mov dword [ebp - 0x24], eax
jb 0x4f78a0
jmp 0x4f7a42
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
and eax, 0xfffff
push 0xffffffffffffffff
or eax, 0x50000000
push eax
lea eax, [ebp - 0x58]
push eax
push ecx
call fcn.004ca530
mov esi, eax
test esi, esi
jl 0x4f7b03
mov edi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x30]
mov esi, dword [ebp - 0x34]
mov dword [edi + 0x30], edx
mov ecx, dword [eax + 0x34]
mov dword [edi + 0x34], ecx
mov edx, dword [eax + 0xc]
mov ecx, dword [edx]
mov eax, dword [edi + 0xc]
mov dword [eax], ecx
mov edx, dword [edi + 0xc]
mov eax, dword [edx]
mov ecx, dword [edi + 0x10]
mov dword [eax + 0x70], ecx
mov edx, dword [edi + 0xc]
mov eax, dword [edx]
lea ebx, [esi*4]
push ebx
lea ecx, [ebp - 0x98]
mov dword [eax + 0x6c], edi
mov edx, dword [edi + 4]
push ecx
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp esi, 2
je 0x4f7a3e
mov edx, dword [ebp - 0x6c]
cmp edx, 0xffffffff
jne 0x4f7a26
fld1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28e0]
sub esp, 8
fstp qword [esp]
push 0x20
push 0
push 0
push 0
push ecx
lea edx, [ebp - 0x6c]
push edx
push eax
call fcn.004ca3c0
mov esi, eax
test esi, esi
jl 0x4f7b03
mov edx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x34]
test esi, esi
jbe 0x4f7a3e
mov eax, ebx
mov ecx, esi
mov edi, edi
mov esi, dword [edi + 4]
mov dword [eax + esi], edx
add eax, 4
sub ecx, 1
jne 0x4f7a30
add dword [ebp - 0x28], 1
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x10]
add eax, 1
cmp eax, ecx
mov dword [ebp - 0xc], eax
jb 0x4f7a63
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], ecx
mov eax, ecx
jmp 0x4f7a6c
mov ecx, dword [edx + 0x14]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x10], edx
cmp eax, dword [ebp - 0x68]
jb 0x4f6f9f
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x2938]
mov ecx, dword [ebp - 0x64]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 0x28fc]
mov eax, dword [ebp - 0x28]
mov dword [edx + 0x10], eax
mov edx, dword [edi + 0x10]
xor ebx, ebx
cmp edx, ebx
jbe 0x4f7aa0
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx]
jmp 0x4f7aa2
xor eax, eax
mov esi, dword [ebp - 0x68]
xor ecx, ecx
cmp esi, ebx
jbe 0x4f7ad6
jmp 0x4f7ab0
cmp ecx, edx
jae 0x4f7ad6
mov dword [eax + 0x38], ebx
mov dword [eax], ebx
mov dword [eax + 8], ebx
mov edx, dword [edi + 0x10]
add ecx, 1
cmp ecx, edx
jb 0x4f7acc
xor eax, eax
mov ecx, edx
jmp 0x4f7ad2
mov eax, dword [edi + 0x14]
mov eax, dword [eax + ecx*4]
cmp ecx, esi
jb 0x4f7ab0
push edi
call fcn.004eac00
cmp eax, ebx
je 0x4f7ae4
mov esi, eax
jl 0x4f7b03
push edi
call fcn.004caf90
cmp eax, ebx
je 0x4f7af2
mov esi, eax
jl 0x4f7b03
mov eax, edi
call fcn.004ebb60
cmp eax, ebx
je 0x4f7b01
mov esi, eax
jl 0x4f7b03
xor esi, esi
cmp dword [ebp - 0x84], 0
mov ecx, dword [ebp - 0x78]
je 0x4f7b7f
test ecx, ecx
ja 0x4f7b18
mov ecx, 1
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x29b0]
cmp ecx, dword [eax + 8]
jae 0x4f7b34
sub dword [eax + 8], ecx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [edi + 0x29b4]
test ecx, ecx
je 0x4f7b62
mov edx, dword [ecx + 0xc]
cmp edx, dword [eax + 0xc]
jb 0x4f7b62
mov ebx, dword [eax]
push eax
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov dword [edi + 0x29b0], ebx
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [edi + 0x29b0]
mov dword [edi + 0x29b4], eax
mov eax, dword [eax]
mov dword [edi + 0x29b0], eax
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4