Function at 0x1007c560
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x160
mov esi, esp
mov dword [esi + 0x148], ebp
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x14c], esp
mov dword [esi + 0x158], 0xffffffff
lea eax, [esi + 0x150]
mov dword [esi + 0x154], 0x1007e680
mov ecx, dword fs:[0]
mov dword [esi + 0x150], ecx
mov dword fs:[0], eax
mov eax, 0xdc37bf9
mov ecx, 0x78928ce4
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov ecx, 0x21bedf5e
mov edx, 0xfc3ff32a
mov eax, 0x7db70f91
mov ebx, 0x78928c97
mov dword [esi + 0x58], eax
mov eax, esi
mov dword [esi + 0x3c], 0
mov edi, dword [esi + 0x3c]
mov dword [esi + 0x34], 0
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], ecx
mov dword [esi + 0x88], ebx
mov dword [esi + 4], ebx
mov edi, dword [esi + 0x58]
mov dword [esi], edi
mov edi, dword [esi + 0x5c]
mov dword [esi + 0x8c], edx
mov dword [esi + 0xc], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 8], ecx
movaps xmm0, xmmword [esi + 0x60]
mov dword [esi + 0x138], eax
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x60], xmm0
cmp dword [edi + 0x34], 0x10
mov ebx, dword [edi + 0x30]
jb 0x1007c675
mov eax, dword [edi + 0x20]
cmp ebx, 0xf
jbe 0x1007c67d
mov dword [esi + 0x38], eax
mov dword [esi + 0x2c], ebx
mov eax, ebx
or eax, 0xf
cmp eax, 0x7fffffff
mov ecx, 0x7fffffff
cmovb ecx, eax
cmp ecx, 0xfff
mov dword [esi + 0x30], ecx
jb 0x1007c696
lea eax, [ecx + 0x24]
mov dword [esi + 0x158], 0xf
push eax
call fcn.10080810
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x1007c6ac
lea eax, [edi + 0x20]
cmp ebx, 0xf
ja 0x1007c62f
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
mov edi, 0xf
jmp 0x1007c6c4
lea eax, [ecx + 1]
mov dword [esi + 0x158], 0xf
push eax
call fcn.10080810
add esp, 4
mov ebx, dword [esi + 0x2c]
mov dword [esi], eax
lea ecx, [ebx + 1]
push ecx
push dword [esi + 0x38]
push eax
call fcn.10083fd0
add esp, 0xc
mov edi, dword [esi + 0x30]
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], edi
lea eax, [esi + 0x60]
push eax
call fcn.10086fa0
add esp, 4
mov edx, ebx
mov ebx, 0x84480200
cmp edx, eax
jne 0x1007c714
mov ecx, edx
cmp edi, 0x10
mov dword [esi + 0x30], edi
jb 0x1007c6ef
mov eax, dword [esi]
jmp 0x1007c6f1
mov eax, esi
mov edx, ecx
lea ecx, [esi + 0x60]
push edx
push ecx
push eax
call fcn.1008294d
add esp, 0xc
xor ebx, ebx
test eax, eax
sete bl
shl ebx, 0x17
or ebx, 0x84480200
mov edi, dword [esi + 0x30]
cmp edi, 0x10
mov edx, edi
mov edi, dword [esi + 0x5c]
jb 0x1007c74b
mov eax, dword [esi]
cmp edx, 0xfff
jb 0x1007c740
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x1007dd61
add edx, 0x24
mov eax, ecx
jmp 0x1007c741
inc edx
push edx
push eax
call fcn.10080845
add esp, 8
mov eax, ebx
or eax, 0x200000
cmp byte [edi + 0x99], 0
cmovne eax, ebx
mov dword [esi + 0xf0], 0
mov dword [esi + 0x100], 0
mov dword [esi + 0x104], 0
mov ebx, dword [edi + 0x18]
cmp dword [edi + 0x1c], 0x10
jb 0x1007c788
mov ecx, dword [edi + 8]
jmp 0x1007c78b
lea ecx, [edi + 8]
cmp ebx, 0xf
mov dword [esi + 0x30], eax
ja 0x1007c7b3
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [esi + 0xf8], xmm1
movsd qword [esi + 0xf0], xmm0
mov eax, 0xf
jmp 0x1007c827
mov dword [esi + 0x38], ecx
mov dword [esi + 0x2c], ebx
mov eax, ebx
or eax, 0xf
cmp eax, 0x7fffffff
mov ecx, 0x7fffffff
cmovb ecx, eax
mov dword [esi + 0x158], 0xf
cmp ecx, 0xfff
mov dword [esi + 0x84], ecx
jb 0x1007c7fc
lea eax, [ecx + 0x24]
push eax
call fcn.10080810
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x1007c808
lea eax, [ecx + 1]
push eax
call fcn.10080810
add esp, 4
mov ebx, dword [esi + 0x2c]
mov dword [esi + 0xf0], eax
lea ecx, [ebx + 1]
push ecx
push dword [esi + 0x38]
push eax
call fcn.10083fd0
add esp, 0xc
mov eax, dword [esi + 0x84]
mov dword [esi + 0x100], ebx
mov dword [esi + 0x104], eax
mov eax, 0xdc37bd9
mov ecx, 0x16f7fcd8
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0x54cfba0c
mov ecx, 0xbd4b804f
mov dword [esi + 0x10c], ecx
mov dword [esi + 0x110], eax
mov eax, 0x7e16e843
mov edi, 0x627295a1
mov dword [esi + 0x2c], eax
mov ebx, 0xb24fb120
mov edx, 0xaceeaf94
xor eax, eax
mov ecx, esi
mov eax, dword [esi + 0x10c]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x110]
mov dword [esi + 0x68], eax
mov dword [esi + 0x74], edi
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x70], eax
mov dword [esi + 0x7c], edx
mov dword [esi + 0x78], ebx
mov eax, dword [esi + 0x88]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x58]
mov dword [esi], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 8], eax
mov dword [esi + 0x38], edi
mov dword [esi + 0x14], edi
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x10], eax
mov dword [esi + 0xac], edx
mov dword [esi + 0x1c], edx
mov dword [esi + 0x84], ebx
mov dword [esi + 0x18], ebx
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x60], xmm0
movaps xmm0, xmmword [esi + 0x70]
mov dword [esi + 0xa8], ecx
xorps xmm0, xmmword [ecx + 0x10]
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x40], 0
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0xf
mov byte [esi + 0x40], 0
lea ebx, [esi + 0x60]
push ebx
call fcn.10086fa0
add esp, 4
mov edi, eax
cmp eax, 0xf
jbe 0x1007c940
mov dword [esi + 0x158], 0x10
sub esp, 0xc
mov al, byte [esi]
mov byte [esp + 4], al
lea eax, [esi + 0x60]
mov dword [esp + 8], eax
mov dword [esp], edi
lea ecx, [esi + 0x40]
call fcn.10003a10
jmp 0x1007c956
mov dword [esi + 0x50], edi
lea eax, [esi + 0x40]
push edi
push ebx
push eax
call fcn.10083fd0
add esp, 0xc
mov byte [esi + edi + 0x40], 0
mov eax, 0x7dde0fe6
mov ecx, 0x78fb8cf9
mov dword [esi + 0xe0], ecx
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xe4], eax
mov dword [esi + 0xb0], eax
mov eax, 0x21dbdf30
mov ecx, 0xfc11f35e
mov dword [esi + 0xd8], ecx
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xdc], eax
mov dword [esi + 0xb8], eax
mov eax, 0x7e7ae827
mov ecx, 0x627295cd
mov dword [esi + 0xd0], ecx
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xd4], eax
mov dword [esi + 0xc0], eax
mov edx, dword [esi + 0xac]
mov dword [esi + 0xcc], edx
mov ecx, dword [esi + 0x84]
mov dword [esi + 0xc8], ecx
mov eax, dword [esi + 0x88]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x58]
mov dword [esi], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], edx
mov dword [esi + 0x18], ecx
movaps xmm0, xmmword [esi + 0xb0]
mov eax, dword [esi + 0xa8]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0xb0], xmm0
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0xc0], xmm0
mov dword [esi + 0x90], 0
mov dword [esi + 0xa0], 0
mov dword [esi + 0xa4], 7
mov word [esi + 0x90], 0
lea ebx, [esi + 0xb0]
push ebx
call fcn.100875e6
add esp, 4
mov edi, eax
cmp eax, 7
jbe 0x1007ca90
mov dword [esi + 0x158], 0x1d
sub esp, 0xc
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], ebx
mov dword [esp], edi
lea ecx, [esi + 0x90]
call fcn.1000cb60
jmp 0x1007cabf
mov dword [esi + 0xa0], edi
mov eax, edi
add eax, edi
lea ecx, [esi + 0x90]
push eax
push ebx
push ecx
call fcn.10083fd0
add esp, 0xc
mov word [esi + edi*2 + 0x90], 0
mov dword [esi + 0x158], 0x1e
mov dword [esi + 0x158], 0x1e
lea ecx, [esi + 0x40]
lea eax, [esi + 0x90]
push ecx
push eax
mov eax, esi
push eax
call fcn.1007ac90
add esp, 0xc
cmp byte [esi + 4], 0
je 0x1007dd57
mov eax, dword [ebp + 0xc]
cmp dword [esi + 0x104], 0x10
mov edx, dword [esi + 0x5c]
jb 0x1007cb06
mov ecx, dword [esi + 0xf0]
cmp dword [eax + 0x14], 0x10
jae 0x1007cb12
jmp 0x1007cb14
lea ecx, [esi + 0xf0]
cmp dword [eax + 0x14], 0x10
jb 0x1007cb14
mov eax, dword [eax]
push 0
push dword [esi + 0x30]
push 0
push 0
push 0
push ecx
push eax
push dword [edx + 0xa0]
call dword [esi]
mov edx, dword [esi + 0x34]
mov dword [esi + 0x34], eax
test edx, edx
je 0x1007cb3c
lea ecx, [esi + 0x34]
push edx
call fcn.10077cc0
mov ecx, dword [esi + 0xa4]
cmp ecx, 8
mov edi, dword [esi + 0x5c]
jb 0x1007cb80
mov eax, dword [esi + 0x90]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x1007cb76
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x1007dd70
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.10080845
add esp, 8
mov eax, dword [esi + 0x54]
cmp eax, 0x10
jb 0x1007cbbb
mov ecx, dword [esi + 0x40]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x1007cbb1
mov edi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edi
cmp ecx, 0x20
jae 0x1007dd7f
add eax, 0x24
mov edx, eax
mov ecx, edi
mov edi, dword [esi + 0x5c]
push edx
push ecx
call fcn.10080845
add esp, 8
mov ebx, dword [ebp + 8]
cmp dword [esi + 0x34], 0
je 0x1007dc8c
cmp byte [edi + 0x98], 0
jne 0x1007d1f1
mov eax, 0x18c361d8
mov ecx, 0xcf7e2e5
mov dword [esi + 0xec], ecx
mov dword [esi + 0x64], ecx
mov dword [esi + 0x30], eax
mov dword [esi + 0x60], eax
mov eax, 0x53dbaa0f
mov ecx, 0x884fbc53
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
mov eax, 0x3f78872a
mov ecx, 0x627295a1
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov dword [esi + 0x118], 0
mov dword [esi + 0x130], 4
mov edx, dword [esi + 0xac]
mov dword [esi + 0x7c], edx
mov ecx, dword [esi + 0x84]
mov dword [esi + 0x78], ecx
mov eax, dword [esi + 0x88]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x58]
mov dword [esi], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], edx
mov dword [esi + 0x18], ecx
movaps xmm0, xmmword [esi + 0x60]
mov eax, dword [esi + 0xa8]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x60], xmm0
movaps xmm0, xmmword [esi + 0x70]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x40], 0
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0xf
mov byte [esi + 0x40], 0
lea ebx, [esi + 0x60]
push ebx
call fcn.10086fa0
add esp, 4
mov edi, eax
cmp eax, 0xf
jbe 0x1007ccd0
mov dword [esi + 0x158], 0x10
sub esp, 0xc
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], ebx
mov dword [esp], edi
lea ecx, [esi + 0x40]
call fcn.10003a10
jmp 0x1007cce6
mov dword [esi + 0x50], edi
lea eax, [esi + 0x40]
push edi
push ebx
push eax
call fcn.10083fd0
add esp, 0xc
mov byte [esi + edi + 0x40], 0
mov eax, dword [esi + 0xe0]
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0xe4]
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0xd8]
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0xdc]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0xd0]
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 0xd4]
mov dword [esi + 0xc0], eax
mov edx, dword [esi + 0xac]
mov dword [esi + 0xcc], edx
mov ecx, dword [esi + 0x84]
mov dword [esi + 0xc8], ecx
mov eax, dword [esi + 0x88]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x58]
mov dword [esi], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], edx
mov dword [esi + 0x18], ecx
movaps xmm0, xmmword [esi + 0xb0]
mov eax, dword [esi + 0xa8]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0xb0], xmm0
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0xc0], xmm0
mov dword [esi + 0x90], 0
mov dword [esi + 0xa0], 0
mov dword [esi + 0xa4], 7
mov word [esi + 0x90], 0
lea ebx, [esi + 0xb0]
push ebx
call fcn.100875e6
add esp, 4
mov edi, eax
cmp eax, 7
jbe 0x1007ce08
mov dword [esi + 0x158], 0x19
sub esp, 0xc
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], ebx
mov dword [esp], edi
lea ecx, [esi + 0x90]
call fcn.1000cb60
lea ebx, [esi + 0x90]
jmp 0x1007ce37
mov dword [esi + 0xa0], edi
mov eax, edi
add eax, edi
push eax
push ebx
lea ebx, [esi + 0x90]
push ebx
call fcn.10083fd0
add esp, 0xc
mov word [esi + edi*2 + 0x90], 0
mov dword [esi + 0x158], 0x1a
mov dword [esi + 0x158], 0x1a
lea ecx, [esi + 0x40]
mov eax, esi
push ecx
push ebx
push eax
call fcn.1007ac90
add esp, 0xc
cmp byte [esi + 4], 0
je 0x1007dd9d
lea eax, [esi + 0x130]
lea ecx, [esi + 0x118]
push eax
push ecx
push 0x1f
push dword [esi + 0x34]
call dword [esi]
mov edi, eax
mov ecx, dword [esi + 0xa4]
cmp ecx, 8
jb 0x1007ceb3
mov eax, dword [esi + 0x90]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x1007cea9
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x1007ddc5
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.10080845
add esp, 8
mov eax, dword [esi + 0x54]
cmp eax, 0x10
jb 0x1007ceeb
mov ecx, dword [esi + 0x40]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x1007cee1
mov ebx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, ebx
cmp ecx, 0x20
jae 0x1007ddd4
add eax, 0x24
mov edx, eax
mov ecx, ebx
push edx
push ecx
call fcn.10080845
add esp, 8
test edi, edi
je 0x1007d1ee
or dword [esi + 0x118], 0x3180
mov eax, dword [esi + 0xec]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x60], eax
mov eax, 0x6ecaba0d
mov ecx, 0x9356875a
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
mov eax, 0x7e16a92d
mov ecx, 0x627295a1
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov edx, dword [esi + 0xac]
mov dword [esi + 0x7c], edx
mov ecx, dword [esi + 0x84]
mov dword [esi + 0x78], ecx
mov eax, dword [esi + 0x88]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x58]
mov dword [esi], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], edx
mov dword [esi + 0x18], ecx
movaps xmm0, xmmword [esi + 0x60]
mov eax, dword [esi + 0xa8]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x60], xmm0
movaps xmm0, xmmword [esi + 0x70]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x40], 0
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0xf
mov byte [esi + 0x40], 0
lea ebx, [esi + 0x60]
push ebx
call fcn.10086fa0
add esp, 4
mov edi, eax
cmp eax, 0xf
jbe 0x1007cfda
mov dword [esi + 0x158], 0x10
sub esp, 0xc
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], ebx
mov dword [esp], edi
lea ecx, [esi + 0x40]
call fcn.10003a10
jmp 0x1007cff0
mov dword [esi + 0x50], edi
push edi
push ebx
lea eax, [esi + 0x40]
push eax
call fcn.10083fd0
add esp, 0xc
mov byte [esi + edi + 0x40], 0
mov eax, dword [esi + 0xe0]
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0xe4]
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0xd8]
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0xdc]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0xd0]
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 0xd4]
mov dword [esi + 0xc0], eax
mov edx, dword [esi + 0xac]
mov dword [esi + 0xcc], edx
mov ecx, dword [esi + 0x84]
mov dword [esi + 0xc8], ecx
mov eax, dword [esi + 0x88]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x58]
mov dword [esi], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], edx
mov dword [esi + 0x18], ecx
movaps xmm0, xmmword [esi + 0xb0]
mov eax, dword [esi + 0xa8]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0xb0], xmm0
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0xc0], xmm0
mov dword [esi + 0x90], 0
mov dword [esi + 0xa0], 0
mov dword [esi + 0xa4], 7
mov word [esi + 0x90], 0
lea ebx, [esi + 0xb0]
push ebx
call fcn.100875e6
add esp, 4
mov edi, eax
cmp eax, 7
jbe 0x1007d112
mov dword [esi + 0x158], 0x1b
sub esp, 0xc
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], ebx
mov dword [esp], edi
lea ecx, [esi + 0x90]
call fcn.1000cb60
lea ebx, [esi + 0x90]
jmp 0x1007d141
mov dword [esi + 0xa0], edi
mov eax, edi
add eax, edi
push eax
push ebx
lea ebx, [esi + 0x90]
push ebx
call fcn.10083fd0
add esp, 0xc
mov word [esi + edi*2 + 0x90], 0
mov dword [esi + 0x158], 0x1c
mov dword [esi + 0x158], 0x1c
lea eax, [esi + 0x40]
push eax
push ebx
mov eax, esi
push eax
call fcn.1007ac90
add esp, 0xc
cmp byte [esi + 4], 0
je 0x1007ddc0
push 4
lea eax, [esi + 0x118]
push eax
push 0x1f
push dword [esi + 0x34]
call dword [esi]
mov ecx, dword [esi + 0xa4]
cmp ecx, 8
jb 0x1007d1b6
mov eax, dword [esi + 0x90]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x1007d1ac
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x1007dde3
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.10080845
add esp, 8
mov eax, dword [esi + 0x54]
cmp eax, 0x10
jb 0x1007d1ee
mov ecx, dword [esi + 0x40]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x1007d1e4
mov edi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edi
cmp ecx, 0x20
jae 0x1007ddf2
add eax, 0x24
mov edx, eax
mov ecx, edi
push edx
push ecx
call fcn.10080845
add esp, 8
mov edi, dword [esi + 0x5c]
mov eax, dword [edi]
mov dword [esi + 0x13c], eax
mov eax, dword [eax]
nop dword [eax + eax]
cmp eax, dword [esi + 0x13c]
je 0x1007d92f
mov edi, eax
mov eax, 0x7db72fab
mov ecx, 0x78928c97
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xb0], eax
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0xbc], ecx
mov eax, dword [esi + 0x3c]
mov dword [esi + 0xb8], eax
mov edx, dword [esi + 0x88]
mov dword [esi + 4], edx
mov edx, dword [esi + 0x58]
mov dword [esi], edx
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
movaps xmm0, xmmword [esi + 0xb0]
mov eax, dword [esi + 0x138]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0xb0], xmm0
mov ebx, dword [edi + 0x20]
lea eax, [esi + 0xb0]
push eax
call fcn.10086fa0
add esp, 4
mov edx, 0x7fffffff
sub edx, ebx
cmp edx, eax
jb 0x1007dcfd
mov ecx, ebx
mov edx, dword [edi + 0x10]
mov dword [esi + 0x144], edx
mov dword [esi + 0x5c], edi
mov edx, dword [edi + 0x24]
mov dword [esi + 0x140], edx
mov dword [esi + 0x60], 0
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 0
mov dword [esi + 0xec], eax
lea edx, [eax + ebx]
mov ebx, 0xf
lea edi, [esi + 0x60]
cmp edx, 0x10
mov dword [esi + 0x30], edx
jb 0x1007d358
mov dword [esi + 0x114], ecx
mov ecx, edx
or ecx, 0xf
js 0x1007d303
cmp ecx, 0x17
mov edi, 0x16
cmovae edi, ecx
lea eax, [edi + 1]
mov dword [esi + 0x158], 0x10
cmp edi, 0xfff
jb 0x1007d335
mov dword [esi + 0xe8], ecx
jmp 0x1007d312
mov dword [esi + 0xe8], 0x7fffffff
mov eax, 0x80000000
add eax, 0x23
mov dword [esi + 0x158], 0x10
push eax
call fcn.10080810
add esp, 4
mov edi, eax
add edi, 0x23
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x1007d346
mov dword [esi + 0xe8], edi
push eax
call fcn.10080810
add esp, 4
mov edi, eax
mov ecx, dword [esi + 0x114]
mov edx, dword [esi + 0x30]
mov dword [esi + 0x60], edi
mov ebx, dword [esi + 0xe8]
cmp dword [esi + 0x140], 0x10
mov eax, dword [esi + 0x5c]
lea eax, [eax + 0x10]
cmovae eax, dword [esi + 0x144]
mov dword [esi + 0x70], edx
mov dword [esi + 0x74], ebx
push ecx
push eax
push edi
mov ebx, ecx
call fcn.10083fd0
add esp, 0xc
add ebx, edi
push dword [esi + 0xec]
lea eax, [esi + 0xb0]
push eax
push ebx
call fcn.10083fd0
add esp, 0xc
mov eax, dword [esi + 0x30]
mov byte [edi + eax], 0
mov ebx, dword [esi + 0x5c]
mov eax, dword [ebx + 0x38]
cmp dword [ebx + 0x3c], 0x10
jb 0x1007d3b0
mov ecx, dword [ebx + 0x28]
jmp 0x1007d3b3
lea ecx, [ebx + 0x28]
mov dword [esi + 0x30], ecx
mov edx, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
mov edi, ecx
sub edi, edx
cmp edi, eax
lea ebx, [esi + 0x60]
jae 0x1007d400
mov dword [esi + 0x158], 0x17
sub esp, 0x10
mov cl, byte [esi]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov ecx, dword [esi + 0x30]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov ecx, ebx
call fcn.10003e80
lea ebx, [esi + 0x60]
jmp 0x1007d426
lea edi, [edx + eax]
mov dword [esi + 0x70], edi
cmp ecx, 0x10
jb 0x1007d40e
mov ebx, dword [esi + 0x60]
add edx, ebx
push eax
push dword [esi + 0x30]
push edx
call fcn.10083fd0
add esp, 0xc
mov byte [ebx + edi], 0
lea ebx, [esi + 0x60]
mov eax, ebx
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esi], xmm0
movsd qword [esi + 8], xmm1
movsd xmm0, qword [eax + 0x10]
movsd qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov edx, ecx
sub edx, eax
cmp edx, 2
jae 0x1007d4a0
mov dword [esi + 0x158], 0x18
sub esp, 0x10
mov al, byte [esi + 0x40]
mov byte [esp + 4], al
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x10098c80
mov dword [esp], 2
mov ecx, esi
call fcn.10003e80
lea ebx, [esi + 0x60]
jmp 0x1007d4bc
lea edx, [eax + 2]
mov dword [esi + 0x10], edx
mov edx, esi
cmp ecx, 0x10
jb 0x1007d4af
mov edx, dword [esi]
mov word [edx + eax], 0xa0d
mov byte [edx + eax + 2], 0
mov eax, esi
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esi + 0x40], xmm0
movsd qword [esi + 0x48], xmm1
movsd xmm0, qword [eax + 0x10]
movsd qword [esi + 0x50], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x10
jb 0x1007d521
mov ecx, dword [esi]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x1007d517
mov edi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edi
cmp ecx, 0x20
jae 0x1007dd0c
add eax, 0x24
mov edx, eax
mov ecx, edi
push edx
push ecx
call fcn.10080845
add esp, 8
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov eax, dword [esi + 0x74]
cmp eax, 0x10
jb 0x1007d56a
mov ecx, dword [esi + 0x60]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x1007d560
mov edi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edi
cmp ecx, 0x20
jae 0x1007dd1b
add eax, 0x24
mov edx, eax
mov ecx, edi
push edx
push ecx
call fcn.10080845
add esp, 8
mov eax, 0xdc37bd9
mov ecx, 0x2af6e8d6
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0x44cbae3b
mov ecx, 0x99778759
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
mov eax, 0xc738c22
mov ecx, 0x6272d4d2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov edx, dword [esi + 0xac]
mov dword [esi + 0x7c], edx
mov ecx, dword [esi + 0x84]
mov dword [esi + 0x78], ecx
mov eax, dword [esi + 0x88]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x58]
mov dword [esi], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], edx
mov dword [esi + 0x18], ecx
movaps xmm0, xmmword [esi + 0x60]
mov eax, dword [esi + 0xa8]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x60], xmm0
movaps xmm0, xmmword [esi + 0x70]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x90], 0
mov dword [esi + 0xa0], 0
mov dword [esi + 0xa4], 0xf
mov byte [esi + 0x90], 0
push ebx
call fcn.10086fa0
add esp, 4
mov edi, eax
cmp eax, 0xf
jbe 0x1007d660
mov dword [esi + 0x158], 0x14
sub esp, 0xc
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], ebx
mov dword [esp], edi
lea ecx, [esi + 0x90]
call fcn.10003a10
jmp 0x1007d67f
mov dword [esi + 0xa0], edi
push edi
push ebx
lea eax, [esi + 0x90]
push eax
call fcn.10083fd0
add esp, 0xc
mov byte [esi + edi + 0x90], 0
mov eax, dword [esi + 0xe0]
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0xe4]
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0xd8]
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0xdc]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0xd0]
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 0xd4]
mov dword [esi + 0xc0], eax
mov edx, dword [esi + 0xac]
mov dword [esi + 0xcc], edx
mov ecx, dword [esi + 0x84]
mov dword [esi + 0xc8], ecx
mov eax, dword [esi + 0x88]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x58]
mov dword [esi], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], edx
mov dword [esi + 0x18], ecx
movaps xmm0, xmmword [esi + 0xb0]
mov eax, dword [esi + 0xa8]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0xb0], xmm0
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0xc0], xmm0
mov dword [esi + 0x118], 0
mov dword [esi + 0x128], 0
mov dword [esi + 0x12c], 7
mov word [esi + 0x118], 0
lea ebx, [esi + 0xb0]
push ebx
call fcn.100875e6
add esp, 4
mov edi, eax
cmp eax, 7
jbe 0x1007d7b0
mov dword [esi + 0x158], 0x15
sub esp, 0xc
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], ebx
mov dword [esp], edi
lea ecx, [esi + 0x118]
call fcn.1000cb60
lea ebx, [esi + 0x118]
jmp 0x1007d7df
mov dword [esi + 0x128], edi
mov eax, edi
add eax, edi
push eax
push ebx
lea ebx, [esi + 0x118]
push ebx
call fcn.10083fd0
add esp, 0xc
mov word [esi + edi*2 + 0x118], 0
mov dword [esi + 0x158], 0x16
mov dword [esi + 0x158], 0x16
lea eax, [esi + 0x90]
push eax
push ebx
lea eax, [esi + 0x130]
push eax
call fcn.1007ac90
add esp, 0xc
cmp byte [esi + 0x134], 0
je 0x1007dcf8
cmp dword [esi + 0x54], 0x10
lea eax, [esi + 0x40]
jb 0x1007d819
mov eax, dword [esi + 0x40]
push 0xa0000000
push 0xffffffffffffffff
push eax
push dword [esi + 0x34]
call dword [esi + 0x130]
mov ecx, dword [esi + 0x12c]
cmp ecx, 8
mov edi, dword [esi + 0x5c]
jb 0x1007d86e
mov eax, dword [esi + 0x118]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x1007d864
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x1007dd2a
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.10080845
add esp, 8
mov eax, dword [esi + 0xa4]
cmp eax, 0x10
jb 0x1007d8af
mov ecx, dword [esi + 0x90]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x1007d8a5
mov edi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edi
cmp ecx, 0x20
jae 0x1007dd39
add eax, 0x24
mov edx, eax
mov ecx, edi
mov edi, dword [esi + 0x5c]
push edx
push ecx
call fcn.10080845
add esp, 8
mov eax, dword [esi + 0x54]
cmp eax, 0x10
jb 0x1007d8ea
mov ecx, dword [esi + 0x40]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x1007d8e0
mov edi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edi
cmp ecx, 0x20
jae 0x1007dd48
add eax, 0x24
mov edx, eax
mov ecx, edi
mov edi, dword [esi + 0x5c]
push edx
push ecx
call fcn.10080845
add esp, 8
mov ecx, dword [edi + 8]
cmp byte [ecx + 0xd], 0
je 0x1007d920
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [edi + 4]
cmp byte [eax + 0xd], 0
jne 0x1007d200
mov ecx, edi
mov edi, eax
cmp ecx, dword [eax + 8]
je 0x1007d900
mov eax, edi
jmp 0x1007d200
mov eax, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x1007d920
jmp 0x1007d200
mov eax, 0xdc37bd9
mov ecx, 0x1cfce9c4
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x10c]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x110]
mov dword [esi + 0x68], eax
mov edx, dword [esi + 0x38]
mov dword [esi + 0x74], edx
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x70], ecx
mov ebx, dword [esi + 0xac]
mov dword [esi + 0x7c], ebx
mov edi, dword [esi + 0x84]
mov dword [esi + 0x78], edi
mov eax, dword [esi + 0x88]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x58]
mov dword [esi], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 8], eax
mov dword [esi + 0x14], edx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x18], edi
movaps xmm0, xmmword [esi + 0x60]
mov eax, dword [esi + 0xa8]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x60], xmm0
movaps xmm0, xmmword [esi + 0x70]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x40], 0
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0xf
mov byte [esi + 0x40], 0
lea ebx, [esi + 0x60]
push ebx
call fcn.10086fa0
add esp, 4
mov edi, eax
cmp eax, 0xf
jbe 0x1007da05
mov dword [esi + 0x158], 0x10
sub esp, 0xc
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], ebx
mov dword [esp], edi
lea ecx, [esi + 0x40]
call fcn.10003a10
jmp 0x1007da1b
mov dword [esi + 0x50], edi
lea eax, [esi + 0x40]
push edi
push ebx
push eax
call fcn.10083fd0
add esp, 0xc
mov byte [esi + edi + 0x40], 0
mov eax, dword [esi + 0xe0]
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0xe4]
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0xd8]
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0xdc]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0xd0]
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 0xd4]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x88]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x58]
mov dword [esi], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xac]
mov dword [esi + 0xcc], eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x84]
mov dword [esi + 0xc8], eax
mov dword [esi + 0x18], eax
movaps xmm0, xmmword [esi + 0xb0]
mov eax, dword [esi + 0xa8]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0xb0], xmm0
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0xc0], xmm0
mov dword [esi + 0x90], 0
mov dword [esi + 0xa0], 0
mov dword [esi + 0xa4], 7
mov word [esi + 0x90], 0
lea ebx, [esi + 0xb0]
push ebx
call fcn.100875e6
add esp, 4
mov edi, eax
cmp eax, 7
jbe 0x1007db3d
mov dword [esi + 0x158], 0x11
sub esp, 0xc
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], ebx
mov dword [esp], edi
lea ecx, [esi + 0x90]
call fcn.1000cb60
lea ebx, [esi + 0x90]
jmp 0x1007db6c
mov dword [esi + 0xa0], edi
mov eax, edi
add eax, edi
push eax
push ebx
lea ebx, [esi + 0x90]
push ebx
call fcn.10083fd0
add esp, 0xc
mov word [esi + edi*2 + 0x90], 0
mov dword [esi + 0x158], 0x12
mov dword [esi + 0x158], 0x12
lea eax, [esi + 0x40]
mov ecx, esi
push eax
push ebx
push ecx
call fcn.1007ac90
add esp, 0xc
cmp byte [esi + 4], 0
je 0x1007dd5c
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push 0
push 0
push dword [esi + 0x34]
call dword [esi]
mov edi, eax
mov ecx, dword [esi + 0xa4]
cmp ecx, 8
mov ebx, dword [ebp + 8]
jb 0x1007dbe5
mov eax, dword [esi + 0x90]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x1007dbdb
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x1007dda2
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.10080845
add esp, 8
mov eax, dword [esi + 0x54]
cmp eax, 0x10
jb 0x1007dc20
mov ecx, dword [esi + 0x40]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x1007dc16
mov ebx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, ebx
cmp ecx, 0x20
jae 0x1007ddb1
add eax, 0x24
mov edx, eax
mov ecx, ebx
mov ebx, dword [ebp + 8]
push edx
push ecx
call fcn.10080845
add esp, 8
test edi, edi
je 0x1007dc8c
mov dword [esi + 0x158], 0x10
push 8
call fcn.10080810
add esp, 4
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esi], eax
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x34], 0
mov dword [eax], ecx
mov dword [esi + 0x158], 0x13
mov eax, esi
push eax
lea eax, [esi + 0x60]
push eax
call fcn.1007e5a0
add esp, 8
mov eax, dword [esi + 0x60]
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
mov edi, dword [esi]
test edi, edi
je 0x1007dc92
mov ecx, edi
call fcn.1007e6c0
push edi
call fcn.10080840
add esp, 4
jmp 0x1007dc92
mov dword [ebx], 0
mov eax, dword [esi + 0x104]
cmp eax, 0x10
jb 0x1007dcd0
mov ecx, dword [esi + 0xf0]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x1007dcc6
mov edi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edi
cmp ecx, 0x20
jae 0x1007dd8e
add eax, 0x24
mov edx, eax
mov ecx, edi
push edx
push ecx
call fcn.10080845
add esp, 8
mov eax, dword [esi + 0x34]
test eax, eax
je 0x1007dce0
lea ecx, [esi + 0x34]
push eax
call fcn.10077cc0
mov eax, dword [esi + 0x150]
mov dword fs:[0], eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
call fcn.10006e00
mov dword [esi + 0x158], 0x10
call fcn.10003b50
mov dword [esi + 0x158], 7
call fcn.10086b08
mov dword [esi + 0x158], 8
call fcn.10086b08
mov dword [esi + 0x158], 9
call fcn.10086b08
mov dword [esi + 0x158], 0xa
call fcn.10086b08
mov dword [esi + 0x158], 0xb
call fcn.10086b08
call fcn.10006e00
call fcn.10006e00
mov dword [esi + 0x158], 0
call fcn.10086b08
mov dword [esi + 0x158], 1
call fcn.10086b08
mov dword [esi + 0x158], 2
call fcn.10086b08
mov dword [esi + 0x158], 0xe
call fcn.10086b08
call fcn.10006e00
mov dword [esi + 0x158], 0xc
call fcn.10086b08
mov dword [esi + 0x158], 0xd
call fcn.10086b08
call fcn.10006e00
mov dword [esi + 0x158], 3
call fcn.10086b08
mov dword [esi + 0x158], 4
call fcn.10086b08
mov dword [esi + 0x158], 5
call fcn.10086b08
mov dword [esi + 0x158], 6
call fcn.10086b08
nop word cs:[eax + eax]
nop dword [eax + eax]
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
call fcn.100824b8
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
call fcn.100824b8
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
call fcn.100824b8
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
mov ecx, dword [esi + 0xa4]
cmp ecx, 8
jb 0x1007debd
mov eax, dword [esi + 0x90]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x1007deb3
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x1007dec2
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.10080845
add esp, 8
add esp, 0x20
pop ebp
ret
call fcn.10086b08
nop word [eax + eax]
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
mov eax, dword [esi + 0x54]
cmp eax, 0x10
jb 0x1007df14
mov ecx, dword [esi + 0x40]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1007df0a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1007df2b
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10080845
add esp, 8
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0xf
mov byte [esi + 0x40], 0
add esp, 0x20
pop ebp
ret
call fcn.10086b08
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
call fcn.100824b8
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
call fcn.100824b8
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
call fcn.100824b8
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
call fcn.100824b8
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
mov ecx, dword [esi + 0xa4]
cmp ecx, 8
jb 0x1007dffd
mov eax, dword [esi + 0x90]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x1007dff3
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x1007e002
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.10080845
add esp, 8
add esp, 0x20
pop ebp
ret
call fcn.10086b08
nop word [eax + eax]
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
mov eax, dword [esi + 0x54]
cmp eax, 0x10
jb 0x1007e054
mov ecx, dword [esi + 0x40]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1007e04a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1007e06b
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10080845
add esp, 8
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0xf
mov byte [esi + 0x40], 0
add esp, 0x20
pop ebp
ret
call fcn.10086b08
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
mov ecx, dword [esi + 0xa4]
cmp ecx, 8
jb 0x1007e0bd
mov eax, dword [esi + 0x90]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x1007e0b3
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x1007e0c2
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.10080845
add esp, 8
add esp, 0x20
pop ebp
ret
call fcn.10086b08
nop word [eax + eax]
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
mov eax, dword [esi + 0x54]
cmp eax, 0x10
jb 0x1007e114
mov ecx, dword [esi + 0x40]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1007e10a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1007e12b
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10080845
add esp, 8
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0xf
mov byte [esi + 0x40], 0
add esp, 0x20
pop ebp
ret
call fcn.10086b08
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
call fcn.100824b8
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
call fcn.100824b8
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
call fcn.100824b8
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
call fcn.100824b8
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
call fcn.100824b8
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
mov eax, dword [esi + 0x14]
cmp eax, 0x10
jb 0x1007e213
mov ecx, dword [esi]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1007e209
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1007e229
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10080845
add esp, 8
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
add esp, 0x20
pop ebp
ret
call fcn.10086b08
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
mov eax, dword [esi + 0x74]
cmp eax, 0x10
jb 0x1007e274
mov ecx, dword [esi + 0x60]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1007e26a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1007e28b
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10080845
add esp, 8
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 0xf
mov byte [esi + 0x60], 0
add esp, 0x20
pop ebp
ret
call fcn.10086b08
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
mov ecx, dword [esi + 0x12c]
cmp ecx, 8
jb 0x1007e2dd
mov eax, dword [esi + 0x118]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x1007e2d3
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x1007e2e2
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.10080845
add esp, 8
add esp, 0x20
pop ebp
ret
call fcn.10086b08
nop word [eax + eax]
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
mov eax, dword [esi + 0xa4]
cmp eax, 0x10
jb 0x1007e33a
mov ecx, dword [esi + 0x90]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1007e330
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1007e33f
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10080845
add esp, 8
add esp, 0x20
pop ebp
ret
call fcn.10086b08
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
mov eax, dword [esi + 0x54]
cmp eax, 0x10
jb 0x1007e394
mov ecx, dword [esi + 0x40]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1007e38a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1007e3ab
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10080845
add esp, 8
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0xf
mov byte [esi + 0x40], 0
add esp, 0x20
pop ebp
ret
call fcn.10086b08
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
call fcn.100824b8
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
call fcn.100824b8
nop word cs:[eax + eax]
nop
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
mov ecx, dword [esi + 0xa4]
cmp ecx, 8
jb 0x1007e43d
mov eax, dword [esi + 0x90]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jb 0x1007e433
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x1007e442
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.10080845
add esp, 8
add esp, 0x20
pop ebp
ret
call fcn.10086b08
nop word [eax + eax]
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
mov eax, dword [esi + 0x54]
cmp eax, 0x10
jb 0x1007e494
mov ecx, dword [esi + 0x40]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1007e48a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1007e4ab
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10080845
add esp, 8
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0xf
mov byte [esi + 0x40], 0
add esp, 0x20
pop ebp
ret
call fcn.10086b08
push ebp
sub esp, 0x20
lea esi, [ebp - 0x15c]
mov ebp, dword [esi + 0x148]
mov edi, dword [esi]
test edi, edi
je 0x1007e4d6
mov ecx, edi
call fcn.1007e6c0
push edi
call fcn.10080840
add esp, 4
add esp, 0x20
pop ebp
ret