Function at 0x83152f
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x29c
mov eax, dword [0x85b094]
xor eax, ebp
mov dword [ebp - 4], eax
and dword [ebp - 0x290], 0
push ebx
push esi
mov ebx, 0x85c450
push edi
mov ecx, ebx
call fcn.00832955
test eax, eax
je 0x831673
mov eax, dword [0x85ce5c]
cmp eax, 6
je 0x8315a7
cmp eax, 7
je 0x8315a7
mov dword [0x85c440], eax
xor eax, eax
movzx ecx, word [eax + 0x85ce64]
mov word [eax + 0x87e0f8], cx
inc eax
inc eax
test cx, cx
jne 0x831576
xor eax, eax
movzx ecx, word [eax + 0x85cee8]
mov word [eax + 0x87e178], cx
inc eax
inc eax
test cx, cx
jne 0x83158d
jmp 0x831830
mov esi, 0x856ac0
lea edi, [ebp - 0x288]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x72
lea eax, [ebp - 0x27a]
push 0
push eax
movsw word es:[edi], word [esi]
call fcn.00842aa0
mov esi, 0x856ad0
lea edi, [ebp - 0x208]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
push 0x72
lea eax, [ebp - 0x1fa]
push 0
push eax
movsw word es:[edi], word [esi]
call fcn.00842aa0
mov esi, 0x856ae0
lea edi, [ebp - 0x188]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
push 0x72
lea eax, [ebp - 0x17a]
push 0
push eax
movsw word es:[edi], word [esi]
call fcn.00842aa0
mov esi, 0x856af0
lea edi, [ebp - 0x108]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
push 0x70
lea eax, [ebp - 0xf8]
push 0
push eax
movsd dword es:[edi], dword [esi]
call fcn.00842aa0
mov esi, 0x856b00
lea edi, [ebp - 0x88]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsw word es:[edi], word [esi]
push 0x6e
xor edi, edi
lea eax, [ebp - 0x76]
push edi
push eax
call fcn.00842aa0
add esp, 0xc
lea esi, [ebp - 0x288]
push esi
mov ecx, ebx
call fcn.00832a56
test eax, eax
jne 0x8317e8
inc edi
sub esi, 0xffffff80
cmp edi, 5
jl 0x83165a
or dword [0x85c440], 0xffffffff
and dword [0x87e288], 0
cmp dword [0x87e0f0], 3
jne 0x831846
cmp dword [0x85c440], 5
ja 0x83183f
xor ebx, ebx
cmp dword [0x87e288], ebx
jne 0x831846
xor eax, eax
push 0x206
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push ebx
push eax
mov dword [ebp - 0x294], ebx
call fcn.00842aa0
add esp, 0xc
lea edi, [ebp - 0x210]
call fcn.0083257c
dec edi
dec edi
mov ax, word [edi + 2]
inc edi
inc edi
cmp ax, bx
jne 0x8316da
push 6
pop ecx
lea eax, [ebp - 0x210]
mov esi, 0x856b14
push eax
rep movsd dword es:[edi], dword [esi]
call dword [0x85313c]
cmp eax, 0xffffffff
jne 0x83173e
lea eax, [ebp - 0x294]
push eax
call fcn.008325d6
mov ebx, eax
pop ecx
test ebx, ebx
je 0x831846
mov eax, dword [ebp - 0x294]
cmp eax, 0xa
jl 0x831846
lea ecx, [ebp - 0x210]
push ecx
push ebx
call fcn.00833d27
pop ecx
pop ecx
test eax, eax
jne 0x831846
call dword [0x853138]
push eax
lea eax, [ebp - 0x210]
push eax
call section..text
test eax, eax
je 0x831846
xor edi, edi
cmp ebx, edi
je 0x831766
push ebx
call fcn.0084072d
pop ecx
lea eax, [ebp - 0x28c]
push eax
push 0x28
mov dword [ebp - 0x28c], edi
call dword [fcn.00853134]
push eax
call dword [0x853008]
test eax, eax
je 0x8317b0
mov esi, dword [ebp - 0x28c]
lea eax, [ebp - 0x298]
push eax
push 0x856b44
push edi
call dword [0x853004]
test eax, eax
je 0x8317b0
push esi
lea esi, [ebp - 0x298]
call fcn.00832dd5
pop ecx
cmp dword [ebp - 0x28c], edi
je 0x8317c4
push dword [ebp - 0x28c]
call dword [fcn.00853130]
lea eax, [ebp - 0x210]
push eax
push dword [0x85ce60]
call fcn.00832ca1
pop ecx
pop ecx
test eax, eax
jne 0x831846
mov eax, dword [0x85ce60]
mov dword [0x87e288], eax
jmp 0x831846
mov eax, edi
shl eax, 7
lea eax, [ebp + eax - 0x288]
mov edx, 0x87e178
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
inc eax
inc eax
test cx, cx
jne 0x8317fb
mov dword [0x85c440], 6
xor eax, eax
movzx ecx, word [eax + 0x85ce64]
mov word [eax + 0x87e0f8], cx
inc eax
inc eax
test cx, cx
jne 0x831815
mov dword [0x85c444], edi
mov dword [ebp - 0x290], 1
jmp 0x831681
and dword [0x87e288], 0
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x290]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00840738
leave
ret