Function at 0x6eaa70
Capabilities:
Parse pe header

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0x74
push 0xffffffffffffffff
push 0x81fe74
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x104
push ebx
mov ebx, ecx
mov dword [ebp + 0x64], edx
push esi
mov dword [ebp - 0xd0], ebx
push edi
mov dword [ebp + 0x60], 0
mov dword [ebp - 4], 1
push 0x1c
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebp + 0x60], 2
mov dword [ebx + 4], 0
mov dword [ebx], 0xa
call fcn.00798224
mov esi, eax
add esp, 4
mov dword [ebp + 0x68], esi
mov dword [ebp - 4], 2
mov dword [esi], 0x876ed0
mov dword [esi + 4], 0
mov eax, dword [0x94dbf4]
mov edi, 1
mov dword [esi], 0x87eb90
test al, 1
jne 0x6eab3c
or eax, edi
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 4
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
jmp 0x6eab41
mov eax, dword [0x94dbf8]
mov dword [esi + 8], eax
lea ecx, [esi + 0xc]
mov dword [ebp + 0x6c], ecx
mov dword [ecx], 0x87eb5c
mov dword [ecx + 0xc], 0
push 8
mov byte [ebp - 4], 6
call fcn.00459b41
mov byte [ebp - 4], 1
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 8]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], esi
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x60], 1
mov dword [ebp + 0x44], 0
mov dword [ebp + 0x40], 3
mov eax, dword [eax]
cdq
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x4c], edx
mov dword [ebp - 4], 7
mov eax, dword [0x94dbf4]
mov dword [ebp + 0x54], 0xffff
mov dword [ebp + 0x50], 5
test al, 1
jne 0x6eabf9
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 8
call fcn.00403650
mov esi, eax
add esp, 4
mov eax, edi
xchg dword [esi], eax
xor eax, eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov word [esi + 0xc], ax
mov dword [0x94dbf8], esi
mov byte [ebp - 4], 7
jmp 0x6eabff
mov esi, dword [0x94dbf8]
push 0
push 0
push 3
push 0x8a8c0c
push 0
push 3
mov dword [ebp + 0x70], esi
call dword [0x82819c]
or edx, 0xffffffff
mov dword [ebp + 0x6c], eax
test eax, eax
jne 0x6eacda
test esi, esi
je 0x6eac8a
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6eac71
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 9
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
or edx, 0xffffffff
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6eac90
mov eax, edx
lock xadd dword [esi], eax
jne 0x6eac8a
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6eaccf
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0xa
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov esi, dword [0x94dbf8]
jmp 0x6eaf1b
cmp eax, dword [esi + 4]
ja 0x6eacfc
cmp dword [esi], 1
mov esi, dword [ebp + 0x70]
jg 0x6eacfc
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6eaf1b
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ead48
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0xb
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov byte [ebp - 4], 7
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp + 0x6c]
cmp esi, dword [0x94dbf8]
jne 0x6eadc5
test eax, eax
je 0x6eadad
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x70], edx
test edx, edx
jne 0x6ead8e
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6eae67
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0xc
jmp 0x6eae3a
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp + 0x6c]
xor ecx, ecx
mov dword [edx + 8], eax
mov dword [edx + 4], eax
mov word [edx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6eae6f
test cl, 1
jne 0x6eae67
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0xd
jmp 0x6eae3a
test eax, eax
je 0x6eae28
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp + 0x68], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x70], edx
test edx, edx
jne 0x6eae09
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6eae67
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0xe
jmp 0x6eae3a
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x68]
mov dword [edx + 4], ecx
xor ecx, ecx
mov dword [edx + 8], eax
mov word [edx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6eae6f
test cl, 1
jne 0x6eae67
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0xf
push 0x10
call fcn.00403650
mov ecx, edi
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [0x94dbf8], eax
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x94dbf8]
mov dword [ebp + 0x70], eax
test cl, 1
jne 0x6eaeae
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x10
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp + 0x70]
cmp eax, dword [0x94dbf8]
je 0x6eaf1b
test cl, 1
jne 0x6eaef8
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x12
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6eaf18
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6eaf12
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
mov esi, dword [ebp + 0x70]
test cl, 1
jne 0x6eaf54
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x13
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6eaf74
push dword [ebp + 0x6c]
lea eax, [esi + 0xc]
push eax
push 3
push 0x8a8c0c
push 0
push 0
call dword [0x82819c]
lock inc dword [esi]
xorps xmm0, xmm0
movlpd qword [ebp + 0x58], xmm0
mov dword [ebp + 0x58], esi
mov byte [ebp - 4], 0x14
test esi, esi
je 0x6eafdf
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6eafc4
or eax, 1
push 0x10
mov dword [0x94dbf4], eax
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
jmp 0x6eafc9
mov eax, dword [0x94dbf8]
cmp esi, eax
je 0x6eafdf
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6eafdf
push esi
call fcn.007984d6
add esp, 4
mov byte [ebp - 4], 0x15
mov eax, dword [ebx]
cmp eax, 0xa
jne 0x6eb007
mov esi, dword [ebx + 8]
lea eax, [ebp + 0x50]
push 1
push eax
lea ecx, [esi + 0xc]
call fcn.0045a8c7
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x6eb02d
mov edx, dword [ecx + 4]
jmp 0x6eb02f
cmp eax, 0xb
jne 0x6eb0b3
mov esi, dword [ebx + 8]
lea eax, [ebp + 0x50]
push 1
push eax
lea ecx, [esi + 0xc]
call fcn.0045a8c7
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x6eb02d
mov edx, dword [ecx + 4]
jmp 0x6eb02f
xor edx, edx
test eax, eax
js 0x6eb04a
cmp eax, edx
jge 0x6eb04a
shl eax, 5
add ecx, 0x1c
add ecx, eax
lea eax, [ebp + 0x40]
push eax
call fcn.0042b8fc
jmp 0x6eb0c8
mov eax, dword [0x94dab0]
test al, 1
jne 0x6eb0a3
xorps xmm0, xmm0
mov dword [0x94dab4], 0
or eax, 1
mov dword [0x94dab8], 0
push 0x824321
mov dword [0x94dab0], eax
movlpd qword [0x94dabc], xmm0
mov dword [0x94dac4], 0
mov dword [0x94dac8], 0
movlpd qword [0x94dacc], xmm0
call fcn.00798490
add esp, 4
lea eax, [ebp + 0x40]
mov ecx, 0x94dac4
push eax
call fcn.0042b8fc
jmp 0x6eb0c8
cmp eax, 0xd
jne 0x6eb0c8
mov ecx, dword [ebx + 8]
lea edx, [ebp + 0x40]
push edx
lea edx, [ebp + 0x50]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
lea ecx, [ebp + 0x50]
mov byte [ebp - 4], 0x16
call fcn.0042b9f0
lea ecx, [ebp + 0x40]
mov dword [ebp - 4], 0x17
call fcn.0042b9f0
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x20], 3
mov eax, dword [eax + 0x30]
cdq
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x2c], edx
mov dword [ebp - 4], 0x18
mov eax, dword [0x94dbf4]
mov dword [ebp + 0x34], 0xffff
mov dword [ebp + 0x30], 5
test al, 1
jne 0x6eb158
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 0x19
call fcn.00403650
mov esi, eax
add esp, 4
mov eax, edi
xchg dword [esi], eax
xor eax, eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov word [esi + 0xc], ax
mov dword [0x94dbf8], esi
mov byte [ebp - 4], 0x18
jmp 0x6eb15e
mov esi, dword [0x94dbf8]
push 0
push 0
push 3
push 0x8a8c08
push 0
push 3
mov dword [ebp + 0x70], esi
call dword [0x82819c]
mov dword [ebp + 0x6c], eax
test eax, eax
jne 0x6eb234
test esi, esi
je 0x6eb1e4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6eb1ca
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x1a
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6eb1ea
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6eb1e4
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6eb229
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x1b
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov esi, dword [0x94dbf8]
jmp 0x6eb475
cmp eax, dword [esi + 4]
ja 0x6eb256
cmp dword [esi], 1
mov esi, dword [ebp + 0x70]
jg 0x6eb256
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6eb475
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6eb2a2
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x1c
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov byte [ebp - 4], 0x18
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp + 0x6c]
cmp esi, dword [0x94dbf8]
jne 0x6eb31f
test eax, eax
je 0x6eb307
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x70], edx
test edx, edx
jne 0x6eb2e8
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6eb3c1
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x1d
jmp 0x6eb394
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp + 0x6c]
xor ecx, ecx
mov dword [edx + 8], eax
mov dword [edx + 4], eax
mov word [edx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6eb3c9
test cl, 1
jne 0x6eb3c1
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x1e
jmp 0x6eb394
test eax, eax
je 0x6eb382
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp + 0x68], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x70], edx
test edx, edx
jne 0x6eb363
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6eb3c1
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x1f
jmp 0x6eb394
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x68]
mov dword [edx + 4], ecx
xor ecx, ecx
mov dword [edx + 8], eax
mov word [edx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6eb3c9
test cl, 1
jne 0x6eb3c1
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x20
push 0x10
call fcn.00403650
mov ecx, edi
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [0x94dbf8], eax
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x94dbf8]
mov dword [ebp + 0x70], eax
test cl, 1
jne 0x6eb408
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x21
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp + 0x70]
cmp eax, dword [0x94dbf8]
je 0x6eb475
test cl, 1
jne 0x6eb452
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x23
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6eb472
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6eb46c
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
mov esi, dword [ebp + 0x70]
test cl, 1
jne 0x6eb4ae
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x24
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6eb4ce
push dword [ebp + 0x6c]
lea eax, [esi + 0xc]
push eax
push 3
push 0x8a8c08
push 0
push 0
call dword [0x82819c]
lock inc dword [esi]
xorps xmm0, xmm0
movlpd qword [ebp + 0x38], xmm0
mov dword [ebp + 0x38], esi
mov byte [ebp - 4], 0x25
test esi, esi
je 0x6eb539
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6eb51e
or eax, 1
push 0x10
mov dword [0x94dbf4], eax
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
jmp 0x6eb523
mov eax, dword [0x94dbf8]
cmp esi, eax
je 0x6eb539
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6eb539
push esi
call fcn.007984d6
add esp, 4
mov byte [ebp - 4], 0x26
mov eax, dword [ebx]
cmp eax, 0xa
jne 0x6eb561
mov esi, dword [ebx + 8]
lea eax, [ebp + 0x30]
push 1
push eax
lea ecx, [esi + 0xc]
call fcn.0045a8c7
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x6eb587
mov edx, dword [ecx + 4]
jmp 0x6eb589
cmp eax, 0xb
jne 0x6eb60d
mov esi, dword [ebx + 8]
lea eax, [ebp + 0x30]
push 1
push eax
lea ecx, [esi + 0xc]
call fcn.0045a8c7
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x6eb587
mov edx, dword [ecx + 4]
jmp 0x6eb589
xor edx, edx
test eax, eax
js 0x6eb5a4
cmp eax, edx
jge 0x6eb5a4
shl eax, 5
add ecx, 0x1c
add ecx, eax
lea eax, [ebp + 0x20]
push eax
call fcn.0042b8fc
jmp 0x6eb622
mov eax, dword [0x94dab0]
test al, 1
jne 0x6eb5fd
xorps xmm0, xmm0
mov dword [0x94dab4], 0
or eax, 1
mov dword [0x94dab8], 0
push 0x824321
mov dword [0x94dab0], eax
movlpd qword [0x94dabc], xmm0
mov dword [0x94dac4], 0
mov dword [0x94dac8], 0
movlpd qword [0x94dacc], xmm0
call fcn.00798490
add esp, 4
lea eax, [ebp + 0x20]
mov ecx, 0x94dac4
push eax
call fcn.0042b8fc
jmp 0x6eb622
cmp eax, 0xd
jne 0x6eb622
mov ecx, dword [ebx + 8]
lea edx, [ebp + 0x20]
push edx
lea edx, [ebp + 0x30]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 0x27
call fcn.0042b9f0
lea ecx, [ebp + 0x20]
mov dword [ebp - 4], 0x28
call fcn.0042b9f0
mov eax, dword [ebp + 0x64]
mov dword [ebp + 4], 0
mov dword [ebp], 3
mov eax, dword [eax + 8]
cdq
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
mov dword [ebp - 4], 0x29
mov eax, dword [0x94dbf4]
mov dword [ebp + 0x14], 0xffff
mov dword [ebp + 0x10], 5
test al, 1
jne 0x6eb6b2
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 0x2a
call fcn.00403650
mov esi, eax
add esp, 4
mov eax, edi
xchg dword [esi], eax
xor eax, eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov word [esi + 0xc], ax
mov dword [0x94dbf8], esi
mov byte [ebp - 4], 0x29
jmp 0x6eb6b8
mov esi, dword [0x94dbf8]
push 0
push 0
push 4
push str.mode
push 0
push 3
mov dword [ebp + 0x70], esi
call dword [0x82819c]
mov dword [ebp + 0x6c], eax
test eax, eax
jne 0x6eb78e
test esi, esi
je 0x6eb73e
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6eb724
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x2b
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6eb744
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6eb73e
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6eb783
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x2c
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov esi, dword [0x94dbf8]
jmp 0x6eb9cf
cmp eax, dword [esi + 4]
ja 0x6eb7b0
cmp dword [esi], 1
mov esi, dword [ebp + 0x70]
jg 0x6eb7b0
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6eb9cf
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6eb7fc
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x2d
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov byte [ebp - 4], 0x29
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp + 0x6c]
cmp esi, dword [0x94dbf8]
jne 0x6eb879
test eax, eax
je 0x6eb861
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x70], edx
test edx, edx
jne 0x6eb842
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6eb91b
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x2e
jmp 0x6eb8ee
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp + 0x6c]
xor ecx, ecx
mov dword [edx + 8], eax
mov dword [edx + 4], eax
mov word [edx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6eb923
test cl, 1
jne 0x6eb91b
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x2f
jmp 0x6eb8ee
test eax, eax
je 0x6eb8dc
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp + 0x68], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x70], edx
test edx, edx
jne 0x6eb8bd
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6eb91b
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x30
jmp 0x6eb8ee
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x68]
mov dword [edx + 4], ecx
xor ecx, ecx
mov dword [edx + 8], eax
mov word [edx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6eb923
test cl, 1
jne 0x6eb91b
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x31
push 0x10
call fcn.00403650
mov ecx, edi
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [0x94dbf8], eax
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x94dbf8]
mov dword [ebp + 0x70], eax
test cl, 1
jne 0x6eb962
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x32
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp + 0x70]
cmp eax, dword [0x94dbf8]
je 0x6eb9cf
test cl, 1
jne 0x6eb9ac
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x34
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6eb9cc
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6eb9c6
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
mov esi, dword [ebp + 0x70]
test cl, 1
jne 0x6eba08
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x35
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6eba28
push dword [ebp + 0x6c]
lea eax, [esi + 0xc]
push eax
push 4
push str.mode
push 0
push 0
call dword [0x82819c]
lock inc dword [esi]
xorps xmm0, xmm0
movlpd qword [ebp + 0x18], xmm0
mov dword [ebp + 0x18], esi
mov byte [ebp - 4], 0x36
test esi, esi
je 0x6eba93
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6eba78
or eax, 1
push 0x10
mov dword [0x94dbf4], eax
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
jmp 0x6eba7d
mov eax, dword [0x94dbf8]
cmp esi, eax
je 0x6eba93
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6eba93
push esi
call fcn.007984d6
add esp, 4
mov byte [ebp - 4], 0x37
mov eax, dword [ebx]
cmp eax, 0xa
jne 0x6ebabb
mov esi, dword [ebx + 8]
lea eax, [ebp + 0x10]
push 1
push eax
lea ecx, [esi + 0xc]
call fcn.0045a8c7
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x6ebae1
mov edx, dword [ecx + 4]
jmp 0x6ebae3
cmp eax, 0xb
jne 0x6ebb67
mov esi, dword [ebx + 8]
lea eax, [ebp + 0x10]
push 1
push eax
lea ecx, [esi + 0xc]
call fcn.0045a8c7
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x6ebae1
mov edx, dword [ecx + 4]
jmp 0x6ebae3
xor edx, edx
test eax, eax
js 0x6ebafe
cmp eax, edx
jge 0x6ebafe
shl eax, 5
add ecx, 0x1c
add ecx, eax
lea eax, [ebp]
push eax
call fcn.0042b8fc
jmp 0x6ebb7c
mov eax, dword [0x94dab0]
test al, 1
jne 0x6ebb57
xorps xmm0, xmm0
mov dword [0x94dab4], 0
or eax, 1
mov dword [0x94dab8], 0
push 0x824321
mov dword [0x94dab0], eax
movlpd qword [0x94dabc], xmm0
mov dword [0x94dac4], 0
mov dword [0x94dac8], 0
movlpd qword [0x94dacc], xmm0
call fcn.00798490
add esp, 4
lea eax, [ebp]
mov ecx, 0x94dac4
push eax
call fcn.0042b8fc
jmp 0x6ebb7c
cmp eax, 0xd
jne 0x6ebb7c
mov ecx, dword [ebx + 8]
lea edx, [ebp]
push edx
lea edx, [ebp + 0x10]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x38
call fcn.0042b9f0
lea ecx, [ebp]
mov dword [ebp - 4], 0x39
call fcn.0042b9f0
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 3
mov eax, dword [eax + 0x10]
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 4], 0x3a
mov eax, dword [0x94dbf4]
mov dword [ebp - 0x18], 0xffff
mov dword [ebp - 0x1c], 5
test al, 1
jne 0x6ebc0c
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 0x3b
call fcn.00403650
mov esi, eax
add esp, 4
mov eax, edi
xchg dword [esi], eax
xor eax, eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov word [esi + 0xc], ax
mov dword [0x94dbf8], esi
mov byte [ebp - 4], 0x3a
jmp 0x6ebc12
mov esi, dword [0x94dbf8]
push 0
push 0
push 5
push str.nlink
push 0
push 3
mov dword [ebp + 0x70], esi
call dword [0x82819c]
mov dword [ebp + 0x6c], eax
test eax, eax
jne 0x6ebce8
test esi, esi
je 0x6ebc98
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ebc7e
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x3c
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6ebc9e
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6ebc98
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ebcdd
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x3d
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov esi, dword [0x94dbf8]
jmp 0x6ebf29
cmp eax, dword [esi + 4]
ja 0x6ebd0a
cmp dword [esi], 1
mov esi, dword [ebp + 0x70]
jg 0x6ebd0a
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6ebf29
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ebd56
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x3e
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov byte [ebp - 4], 0x3a
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp + 0x6c]
cmp esi, dword [0x94dbf8]
jne 0x6ebdd3
test eax, eax
je 0x6ebdbb
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x70], edx
test edx, edx
jne 0x6ebd9c
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ebe75
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x3f
jmp 0x6ebe48
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp + 0x6c]
xor ecx, ecx
mov dword [edx + 8], eax
mov dword [edx + 4], eax
mov word [edx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6ebe7d
test cl, 1
jne 0x6ebe75
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x40
jmp 0x6ebe48
test eax, eax
je 0x6ebe36
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp + 0x68], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x70], edx
test edx, edx
jne 0x6ebe17
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ebe75
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x41
jmp 0x6ebe48
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x68]
mov dword [edx + 4], ecx
xor ecx, ecx
mov dword [edx + 8], eax
mov word [edx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6ebe7d
test cl, 1
jne 0x6ebe75
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x42
push 0x10
call fcn.00403650
mov ecx, edi
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [0x94dbf8], eax
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x94dbf8]
mov dword [ebp + 0x70], eax
test cl, 1
jne 0x6ebebc
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x43
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp + 0x70]
cmp eax, dword [0x94dbf8]
je 0x6ebf29
test cl, 1
jne 0x6ebf06
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x45
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6ebf26
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6ebf20
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
mov esi, dword [ebp + 0x70]
test cl, 1
jne 0x6ebf62
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x46
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6ebf82
push dword [ebp + 0x6c]
lea eax, [esi + 0xc]
push eax
push 5
push str.nlink
push 0
push 0
call dword [0x82819c]
lock inc dword [esi]
xorps xmm0, xmm0
movlpd qword [ebp - 0x14], xmm0
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x47
test esi, esi
je 0x6ebfed
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6ebfd2
or eax, 1
push 0x10
mov dword [0x94dbf4], eax
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
jmp 0x6ebfd7
mov eax, dword [0x94dbf8]
cmp esi, eax
je 0x6ebfed
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6ebfed
push esi
call fcn.007984d6
add esp, 4
mov byte [ebp - 4], 0x48
mov eax, dword [ebx]
cmp eax, 0xa
jne 0x6ec015
mov esi, dword [ebx + 8]
lea eax, [ebp - 0x1c]
push 1
push eax
lea ecx, [esi + 0xc]
call fcn.0045a8c7
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x6ec03b
mov edx, dword [ecx + 4]
jmp 0x6ec03d
cmp eax, 0xb
jne 0x6ec0c1
mov esi, dword [ebx + 8]
lea eax, [ebp - 0x1c]
push 1
push eax
lea ecx, [esi + 0xc]
call fcn.0045a8c7
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x6ec03b
mov edx, dword [ecx + 4]
jmp 0x6ec03d
xor edx, edx
test eax, eax
js 0x6ec058
cmp eax, edx
jge 0x6ec058
shl eax, 5
add ecx, 0x1c
add ecx, eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0042b8fc
jmp 0x6ec0d6
mov eax, dword [0x94dab0]
test al, 1
jne 0x6ec0b1
xorps xmm0, xmm0
mov dword [0x94dab4], 0
or eax, 1
mov dword [0x94dab8], 0
push 0x824321
mov dword [0x94dab0], eax
movlpd qword [0x94dabc], xmm0
mov dword [0x94dac4], 0
mov dword [0x94dac8], 0
movlpd qword [0x94dacc], xmm0
call fcn.00798490
add esp, 4
lea eax, [ebp - 0x2c]
mov ecx, 0x94dac4
push eax
call fcn.0042b8fc
jmp 0x6ec0d6
cmp eax, 0xd
jne 0x6ec0d6
mov ecx, dword [ebx + 8]
lea edx, [ebp - 0x2c]
push edx
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x49
call fcn.0042b9f0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0x4a
call fcn.0042b9f0
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 3
mov eax, dword [eax + 0x18]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 4], 0x4b
mov eax, dword [0x94dbf4]
mov dword [ebp - 0x38], 0xffff
mov dword [ebp - 0x3c], 5
test al, 1
jne 0x6ec166
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 0x4c
call fcn.00403650
mov esi, eax
add esp, 4
mov eax, edi
xchg dword [esi], eax
xor eax, eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov word [esi + 0xc], ax
mov dword [0x94dbf8], esi
mov byte [ebp - 4], 0x4b
jmp 0x6ec16c
mov esi, dword [0x94dbf8]
push 0
push 0
push 3
push 0x8a107c
push 0
push 3
mov dword [ebp + 0x70], esi
call dword [0x82819c]
mov dword [ebp + 0x6c], eax
test eax, eax
jne 0x6ec242
test esi, esi
je 0x6ec1f2
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ec1d8
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x4d
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6ec1f8
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6ec1f2
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ec237
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x4e
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov esi, dword [0x94dbf8]
jmp 0x6ec483
cmp eax, dword [esi + 4]
ja 0x6ec264
cmp dword [esi], 1
mov esi, dword [ebp + 0x70]
jg 0x6ec264
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6ec483
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ec2b0
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x4f
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov byte [ebp - 4], 0x4b
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp + 0x6c]
cmp esi, dword [0x94dbf8]
jne 0x6ec32d
test eax, eax
je 0x6ec315
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x70], edx
test edx, edx
jne 0x6ec2f6
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ec3cf
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x50
jmp 0x6ec3a2
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp + 0x6c]
xor ecx, ecx
mov dword [edx + 8], eax
mov dword [edx + 4], eax
mov word [edx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6ec3d7
test cl, 1
jne 0x6ec3cf
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x51
jmp 0x6ec3a2
test eax, eax
je 0x6ec390
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp + 0x68], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x70], edx
test edx, edx
jne 0x6ec371
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ec3cf
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x52
jmp 0x6ec3a2
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x68]
mov dword [edx + 4], ecx
xor ecx, ecx
mov dword [edx + 8], eax
mov word [edx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6ec3d7
test cl, 1
jne 0x6ec3cf
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x53
push 0x10
call fcn.00403650
mov ecx, edi
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [0x94dbf8], eax
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x94dbf8]
mov dword [ebp + 0x70], eax
test cl, 1
jne 0x6ec416
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x54
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp + 0x70]
cmp eax, dword [0x94dbf8]
je 0x6ec483
test cl, 1
jne 0x6ec460
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x56
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6ec480
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6ec47a
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
mov esi, dword [ebp + 0x70]
test cl, 1
jne 0x6ec4bc
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x57
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6ec4dc
push dword [ebp + 0x6c]
lea eax, [esi + 0xc]
push eax
push 3
push 0x8a107c
push 0
push 0
call dword [0x82819c]
lock inc dword [esi]
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 0x58
test esi, esi
je 0x6ec547
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6ec52c
or eax, 1
push 0x10
mov dword [0x94dbf4], eax
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
jmp 0x6ec531
mov eax, dword [0x94dbf8]
cmp esi, eax
je 0x6ec547
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6ec547
push esi
call fcn.007984d6
add esp, 4
mov byte [ebp - 4], 0x59
mov eax, dword [ebx]
cmp eax, 0xa
jne 0x6ec56f
mov esi, dword [ebx + 8]
lea eax, [ebp - 0x3c]
push 1
push eax
lea ecx, [esi + 0xc]
call fcn.0045a8c7
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x6ec595
mov edx, dword [ecx + 4]
jmp 0x6ec597
cmp eax, 0xb
jne 0x6ec61b
mov esi, dword [ebx + 8]
lea eax, [ebp - 0x3c]
push 1
push eax
lea ecx, [esi + 0xc]
call fcn.0045a8c7
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x6ec595
mov edx, dword [ecx + 4]
jmp 0x6ec597
xor edx, edx
test eax, eax
js 0x6ec5b2
cmp eax, edx
jge 0x6ec5b2
shl eax, 5
add ecx, 0x1c
add ecx, eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0042b8fc
jmp 0x6ec630
mov eax, dword [0x94dab0]
test al, 1
jne 0x6ec60b
xorps xmm0, xmm0
mov dword [0x94dab4], 0
or eax, 1
mov dword [0x94dab8], 0
push 0x824321
mov dword [0x94dab0], eax
movlpd qword [0x94dabc], xmm0
mov dword [0x94dac4], 0
mov dword [0x94dac8], 0
movlpd qword [0x94dacc], xmm0
call fcn.00798490
add esp, 4
lea eax, [ebp - 0x4c]
mov ecx, 0x94dac4
push eax
call fcn.0042b8fc
jmp 0x6ec630
cmp eax, 0xd
jne 0x6ec630
mov ecx, dword [ebx + 8]
lea edx, [ebp - 0x4c]
push edx
lea edx, [ebp - 0x3c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x5a
call fcn.0042b9f0
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x5b
call fcn.0042b9f0
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x6c], 3
mov eax, dword [eax + 0x20]
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov dword [ebp - 4], 0x5c
mov eax, dword [0x94dbf4]
mov dword [ebp - 0x58], 0xffff
mov dword [ebp - 0x5c], 5
test al, 1
jne 0x6ec6c0
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 0x5d
call fcn.00403650
mov esi, eax
add esp, 4
mov eax, edi
xchg dword [esi], eax
xor eax, eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov word [esi + 0xc], ax
mov dword [0x94dbf8], esi
mov byte [ebp - 4], 0x5c
jmp 0x6ec6c6
mov esi, dword [0x94dbf8]
push 0
push 0
push 3
push 0x8a8c2c
push 0
push 3
mov dword [ebp + 0x70], esi
call dword [0x82819c]
mov dword [ebp + 0x6c], eax
test eax, eax
jne 0x6ec79c
test esi, esi
je 0x6ec74c
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ec732
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x5e
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6ec752
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6ec74c
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ec791
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x5f
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov esi, dword [0x94dbf8]
jmp 0x6ec9dd
cmp eax, dword [esi + 4]
ja 0x6ec7be
cmp dword [esi], 1
mov esi, dword [ebp + 0x70]
jg 0x6ec7be
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6ec9dd
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ec80a
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x60
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov byte [ebp - 4], 0x5c
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp + 0x6c]
cmp esi, dword [0x94dbf8]
jne 0x6ec887
test eax, eax
je 0x6ec86f
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x70], edx
test edx, edx
jne 0x6ec850
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ec929
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x61
jmp 0x6ec8fc
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp + 0x6c]
xor ecx, ecx
mov dword [edx + 8], eax
mov dword [edx + 4], eax
mov word [edx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6ec931
test cl, 1
jne 0x6ec929
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x62
jmp 0x6ec8fc
test eax, eax
je 0x6ec8ea
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp + 0x68], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp + 0x70], edx
test edx, edx
jne 0x6ec8cb
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6ec929
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x63
jmp 0x6ec8fc
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x68]
mov dword [edx + 4], ecx
xor ecx, ecx
mov dword [edx + 8], eax
mov word [edx + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6ec931
test cl, 1
jne 0x6ec929
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x64
push 0x10
call fcn.00403650
mov ecx, edi
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [0x94dbf8], eax
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x94dbf8]
mov dword [ebp + 0x70], eax
test cl, 1
jne 0x6ec970
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x65
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
mov eax, dword [ebp + 0x70]
cmp eax, dword [0x94dbf8]
je 0x6ec9dd
test cl, 1
jne 0x6ec9ba
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x67
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6ec9da
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6ec9d4
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
mov esi, dword [ebp + 0x70]
test cl, 1
jne 0x6eca16
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x68
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6eca36
push dword [ebp + 0x6c]
lea eax, [esi + 0xc]
push eax
push 3
push 0x8a8c2c
push 0
push 0
call dword [0x82819c]
lock inc dword [esi]
xorps xmm0, xmm0
movlpd qword [ebp - 0x54], xmm0
mov dword [ebp - 0x54], esi
mov byte [ebp - 4], 0x69
test esi, esi
je 0x6ecaa0
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6eca84
or eax, 1
push 0x10
mov dword [0x94dbf4], eax
call fcn.00403650
add esp, 4
xchg dword [eax], edi
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
jmp 0x6eca89
mov eax, dword [0x94dbf8]
cmp esi, eax
je 0x6ecaa0
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x6ecaa0
push esi
call fcn.007984d6
add esp, 4
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x6a
push eax
lea eax, [ebp - 0x5c]
mov ecx, ebx
push eax
call fcn.0045b152
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x6b
call fcn.0042b9f0
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x6c
call fcn.0042b9f0
mov esi, dword [ebp + 0x64]
lea ecx, [ebp - 0x100]
push 0
push dword [esi + 0x28]
call fcn.0044b1ca
push eax
push str.rdev
mov ecx, ebx
mov dword [ebp - 4], 0x6d
call fcn.0045b113
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0x6e
call fcn.0042b9f0
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
call fcn.007e6e60
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xbc], 4
movsd qword [ebp - 0xb4], xmm0
lea eax, [ebp - 0xbc]
mov dword [ebp - 4], 0x6f
push eax
push 0x8853ec
mov ecx, ebx
call fcn.0045b113
lea ecx, [ebp - 0xbc]
mov dword [ebp - 4], 0x70
call fcn.0042b9f0
push 0
push dword [esi + 0x40]
lea ecx, [ebp - 0x110]
call fcn.0044b1ca
push eax
push str.blksize
mov ecx, ebx
mov dword [ebp - 4], 0x71
call fcn.0045b113
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], 0x72
call fcn.0042b9f0
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x48]
call fcn.007e6e60
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xcc], 4
movsd qword [ebp - 0xc4], xmm0
lea eax, [ebp - 0xcc]
mov dword [ebp - 4], 0x73
push eax
push str.blocks
mov ecx, ebx
call fcn.0045b113
lea ecx, [ebp - 0xcc]
mov dword [ebp - 4], 0x74
call fcn.0042b9f0
push dword [esi + 0x64]
push dword [esi + 0x60]
lea ecx, [ebp - 0xd8]
call fcn.006ffee0
mov dword [ebp - 0x78], 0x10
add esp, 8
mov dword [ebp - 0x7c], 6
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x7c]
mov dword [ebp - 4], 0x75
push eax
push str.atime
mov ecx, ebx
call fcn.0045b113
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x76
call fcn.0042b9f0
push dword [esi + 0x6c]
lea ecx, [ebp - 0xe0]
push dword [esi + 0x68]
call fcn.006ffee0
mov dword [ebp - 0x88], 0x10
add esp, 8
mov dword [ebp - 0x8c], 6
mov ecx, dword [eax]
mov dword [ebp - 0x84], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x8c]
mov dword [ebp - 4], 0x77
push eax
push str.mtime
mov ecx, ebx
call fcn.0045b113
lea ecx, [ebp - 0x8c]
mov dword [ebp - 4], 0x78
call fcn.0042b9f0
push dword [esi + 0x74]
lea ecx, [ebp - 0xe8]
push dword [esi + 0x70]
call fcn.006ffee0
mov dword [ebp - 0x98], 0x10
add esp, 8
mov dword [ebp - 0x9c], 6
mov ecx, dword [eax]
mov dword [ebp - 0x94], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 4], 0x79
push eax
push str.ctime
mov ecx, ebx
call fcn.0045b113
lea ecx, [ebp - 0x9c]
mov dword [ebp - 4], 0x7a
call fcn.0042b9f0
push dword [esi + 0x7c]
lea ecx, [ebp - 0xf0]
push dword [esi + 0x78]
call fcn.006ffee0
mov dword [ebp - 0xa8], 0x10
add esp, 8
mov dword [ebp - 0xac], 6
mov ecx, dword [eax]
mov dword [ebp - 0xa4], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xac]
mov dword [ebp - 4], 0x7b
push eax
push str.birthtime
mov ecx, ebx
call fcn.0045b113
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0x7c
call fcn.0042b9f0
mov ecx, dword [ebp - 0xc]
mov eax, ebx
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
lea esp, [ebp + 0x74]
pop ebp
ret