Function at 0x1006c9b0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b372c
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
mov eax, dword [0x100e3008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, ecx
mov dword [ebp - 0xac], eax
mov esi, dword [ebp + 8]
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0xb0], ecx
test esi, esi
je 0x1006e1c1
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x1006ca23
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
mov dword [ebp - 4], 0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0
mov ebx, dword [esi + 4]
mov dword [ebp - 0xa0], ebx
test ebx, ebx
je 0x1006ca61
lock inc dword [ebx + 4]
mov ebx, dword [esi + 4]
mov dword [ebp - 0xa0], ebx
mov eax, dword [esi]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], ebx
mov byte [ebp - 4], 1
mov edi, dword [esi + 8]
mov dword [ebp - 0xe0], edi
test edi, edi
je 0x1006ca8d
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 2
mov esi, dword [esi + 0xc]
mov dword [ebp - 0xe4], esi
test esi, esi
je 0x1006caa5
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x9c]
mov al, byte [eax + 0x14]
mov byte [ebp - 0x8d], al
cmp dword [ebp - 0xa4], 0
je 0x1006e155
cmp dword [ebp - 0xa8], 0
je 0x1006e155
cmp dword [ebp - 0xd8], 0
je 0x1006e155
test edi, edi
je 0x1006e155
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x1c]
sar eax, 3
cmp dword [ebp - 0xb0], eax
jb 0x1006cb59
mov byte [ebp - 4], 8
test esi, esi
je 0x1006cb0d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 9
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0xa
test ebx, ebx
je 0x1006cb47
or ebx, 0xffffffff
mov eax, ebx
mov esi, dword [ebp - 0xa0]
lock xadd dword [esi + 4], eax
jne 0x1006cb47
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006cb47
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0xa4]
jmp 0x1006e1b3
mov dword [ebp - 0x98], 0
mov byte [ebp - 4], 0xc
xor edx, edx
cmp byte [ebp - 0x8d], dl
setne dl
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0xcc], edx
lea eax, [ecx + 0x64]
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x1006cbbb
mov ebx, dword [eax]
mov dword [ebp - 0x94], ebx
test ebx, ebx
mov ebx, dword [ebp - 0xa0]
je 0x1006cbbb
push dword [ebp - 0x94]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0x9c]
mov byte [ebp - 4], 0xd
cmp dword [ecx + 0x68], 0x80004004
jne 0x1006cbf7
mov byte [ebp - 4], 0xe
test eax, eax
je 0x1006cbe7
mov eax, dword [eax]
test eax, eax
je 0x1006cbdd
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0xb8], 0
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x94], 0x80004004
jmp 0x1006cc5a
mov eax, dword [edi]
push edx
lea ecx, [ebp - 0x98]
push ecx
push dword [ebp - 0xb0]
mov ecx, edi
call dword [eax + 0x1c]
mov edx, eax
mov dword [ebp - 0x94], edx
mov ecx, dword [ebp - 0xac]
mov dword [ecx + 0x68], edx
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x1006cc4e
mov eax, dword [eax]
test eax, eax
je 0x1006cc44
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0xb8], 0
mov byte [ebp - 4], 0xc
test edx, edx
je 0x1006ccdc
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006cc6d
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x11
test esi, esi
je 0x1006cc7c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0x12
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0x13
test ebx, ebx
je 0x1006ccb6
or ebx, 0xffffffff
mov eax, ebx
mov esi, dword [ebp - 0xa0]
lock xadd dword [esi + 4], eax
jne 0x1006ccb6
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006ccb6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0x14
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x94]
jmp 0x1006e1c6
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0x94], ebx
test ebx, ebx
je 0x1006cd15
lock inc dword [ebx + 4]
mov ebx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0x94], ebx
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], ebx
mov byte [ebp - 4], 0x15
test eax, eax
jne 0x1006cdd8
mov byte [ebp - 4], 0x16
test ebx, ebx
je 0x1006cd6a
or ebx, 0xffffffff
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 4], eax
jne 0x1006cd6d
mov eax, dword [ecx]
call dword [eax]
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 8], eax
jne 0x1006cd6d
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1006cd6d
or ebx, 0xffffffff
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006cd80
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x18
test esi, esi
je 0x1006cd8f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0x19
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0x1a
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x1006cdc6
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1006cdc6
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006cdc6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0x1b
mov eax, dword [ebp - 0xa4]
jmp 0x1006e1b3
cmp byte [eax + 0x94], 0
jne 0x1006d5bd
mov byte [ebp - 4], 0x1c
push 0
push eax
mov ecx, dword [ebp - 0xa8]
call fcn.10070f80
mov dword [ebp - 0xbc], eax
mov dword [ebp - 4], 0x15
cmp eax, 1
je 0x1006cf30
test eax, eax
je 0x1006d5b7
mov byte [ebp - 4], 0x4f
test ebx, ebx
je 0x1006ce49
or ebx, 0xffffffff
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 4], eax
jne 0x1006ce4c
mov eax, dword [ecx]
call dword [eax]
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 8], eax
jne 0x1006ce4c
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1006ce4c
or ebx, 0xffffffff
mov byte [ebp - 4], 0x50
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006ce5f
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x51
test esi, esi
je 0x1006ce6e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0x52
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0x53
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x1006cea5
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1006cea5
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006cea5
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0x54
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xbc]
jmp 0x1006e1c6
mov ecx, dword [ebp - 0xb8]
call fcn.10077870
test al, al
jne 0x1006cf54
cmp dword [ebp - 0x98], 0
jne 0x1006cf54
cmp byte [ebp - 0x8d], al
je 0x1006d505
push 0x100bc954
lea ecx, [ebp - 0x2c]
call fcn.100084b7
mov byte [ebp - 4], 0x1e
mov eax, dword [edi]
lea ecx, [ebp - 0x2c]
push ecx
push dword [ebp - 0x9c]
push dword [ebp - 0xb0]
mov ecx, edi
call dword [eax + 0x20]
mov dword [ebp - 0x9c], eax
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x1006cfc6
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006cfb6
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e1e4
push edx
push ecx
call fcn.1009c133
add esp, 8
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
xor ecx, ecx
mov word [ebp - 0x2c], cx
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1006d09c
mov byte [ebp - 4], 0x23
test ebx, ebx
je 0x1006d01a
or ebx, 0xffffffff
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 4], eax
jne 0x1006d01d
mov eax, dword [ecx]
call dword [eax]
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 8], eax
jne 0x1006d01d
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1006d01d
or ebx, 0xffffffff
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006d030
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x25
test esi, esi
je 0x1006d03f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0x26
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0x27
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x1006d076
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1006d076
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006d076
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0x28
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x9c]
jmp 0x1006e1c6
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006d0b5
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x98], 0
push 0
mov ecx, dword [ebp - 0xb8]
movzx eax, byte [ecx + 0x95]
push eax
movzx eax, word [ecx + 0x50]
push eax
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0xa8]
call fcn.10073110
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x74]
call fcn.100860e0
test al, al
je 0x1006d100
mov dword [ebp - 0x64], 0
lea eax, [ebp - 0x74]
cmp dword [ebp - 0x60], 8
cmovae eax, dword [ebp - 0x74]
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0xac]
add eax, 0x64
push eax
lea ecx, [ebp - 0x9c]
call fcn.100061a7
mov byte [ebp - 4], 0x2a
cmp dword [ebp - 0x64], 0
je 0x1006d12c
mov eax, dword [edi]
lea ecx, [ebp - 0x74]
push ecx
push 5
mov ecx, edi
call dword [eax + 0x44]
mov eax, dword [ebp - 0xa8]
cmp dword [eax], 0
je 0x1006d28c
mov dword [ebp - 0xa8], 0
mov byte [ebp - 4], 0x2b
mov ecx, dword [eax]
mov eax, dword [ecx]
lea edx, [ebp - 0xa8]
push edx
push 0x408
call dword [eax]
test eax, eax
jne 0x1006d275
cmp dword [ebp - 0xa8], eax
je 0x1006d275
mov dword [ebp - 0xac], eax
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ecx]
lea edx, [ebp - 0xac]
push edx
push 0x407
call dword [eax]
cmp dword [ebp - 0xac], 0
je 0x1006d25e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
xor eax, eax
mov word [ebp - 0x2c], ax
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx]
lea edx, [ebp - 0x2c]
push edx
call dword [eax + 0x10]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x8c]
call fcn.10009965
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x1006d21e
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006d214
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e1e9
push edx
push ecx
call fcn.1009c133
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
xor eax, eax
mov word [ebp - 0x2c], ax
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x1006d245
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x1006d258
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x2a
jmp 0x1006d2b1
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0xac]
test ecx, ecx
je 0x1006d271
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x2b
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x1006d288
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x2a
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
xor eax, eax
mov word [ebp - 0x8c], ax
mov byte [ebp - 4], 0x32
mov eax, dword [edi]
lea ecx, [ebp - 0x8c]
push ecx
push 2
push dword [ebp - 0xb0]
mov ecx, edi
call dword [eax + 0x24]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x1006d448
mov byte [ebp - 4], 0x33
mov edx, dword [ebp - 0x78]
cmp edx, 8
jb 0x1006d31a
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x8c]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006d310
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e1ee
push edx
push ecx
call fcn.1009c133
add esp, 8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
xor eax, eax
mov word [ebp - 0x8c], ax
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x9c]
call fcn.100061ca
mov byte [ebp - 4], 0x37
mov edx, dword [ebp - 0x60]
cmp edx, 8
jb 0x1006d37e
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x74]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006d374
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e1f3
push edx
push ecx
call fcn.1009c133
add esp, 8
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 7
xor eax, eax
mov word [ebp - 0x74], ax
mov byte [ebp - 4], 0x3b
test ebx, ebx
je 0x1006d3c6
or ebx, 0xffffffff
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 4], eax
jne 0x1006d3c9
mov eax, dword [ecx]
call dword [eax]
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 8], eax
jne 0x1006d3c9
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1006d3c9
or ebx, 0xffffffff
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006d3dc
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x3d
test esi, esi
je 0x1006d3eb
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0x3e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0x3f
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x1006d422
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1006d422
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006d422
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0x40
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xcc]
jmp 0x1006e1c6
mov byte [ebp - 4], 0x41
mov edx, dword [ebp - 0x78]
cmp edx, 8
jb 0x1006d489
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x8c]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006d47f
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e1f8
push edx
push ecx
call fcn.1009c133
add esp, 8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
xor eax, eax
mov word [ebp - 0x8c], ax
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x9c]
call fcn.100061ca
mov byte [ebp - 4], 0x45
mov edx, dword [ebp - 0x60]
cmp edx, 8
jb 0x1006d4ed
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x74]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006d4e3
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e1fd
push edx
push ecx
call fcn.1009c133
add esp, 8
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 7
xor eax, eax
mov word [ebp - 0x74], ax
mov byte [ebp - 4], 0x15
mov byte [ebp - 4], 0x49
test ebx, ebx
je 0x1006d539
or ebx, 0xffffffff
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 4], eax
jne 0x1006d53c
mov eax, dword [ecx]
call dword [eax]
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 8], eax
jne 0x1006d53c
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1006d53c
or ebx, 0xffffffff
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006d54f
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x4b
test esi, esi
je 0x1006d55e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0x4c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0x4d
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x1006d595
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1006d595
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006d595
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0x4e
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x1006e1c6
mov eax, dword [ebp - 0xb8]
mov ecx, eax
call fcn.10077870
test al, al
jne 0x1006de14
cmp byte [ebp - 0x8d], al
jne 0x1006d681
cmp dword [ebp - 0x98], 0
jne 0x1006d681
mov byte [ebp - 4], 0x71
test ebx, ebx
je 0x1006d619
or ebx, 0xffffffff
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 4], eax
jne 0x1006d61c
mov eax, dword [ecx]
call dword [eax]
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 8], eax
jne 0x1006d61c
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1006d61c
or ebx, 0xffffffff
mov byte [ebp - 4], 0x72
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006d62f
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x73
test esi, esi
je 0x1006d63e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0x74
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0x75
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x1006d675
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1006d675
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006d675
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0x76
jmp 0x1006d59c
push 0x100bc954
lea ecx, [ebp - 0x2c]
call fcn.100084b7
mov byte [ebp - 4], 0x77
mov eax, dword [edi]
lea ecx, [ebp - 0x2c]
push ecx
push dword [ebp - 0x9c]
push dword [ebp - 0xb0]
mov ecx, edi
call dword [eax + 0x20]
mov dword [ebp - 0x9c], eax
mov byte [ebp - 4], 0x78
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x1006d6f3
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006d6e3
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e202
push edx
push ecx
call fcn.1009c133
add esp, 8
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
xor ecx, ecx
mov word [ebp - 0x2c], cx
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1006d7c9
mov byte [ebp - 4], 0x7c
test ebx, ebx
je 0x1006d747
or ebx, 0xffffffff
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 4], eax
jne 0x1006d74a
mov eax, dword [ecx]
call dword [eax]
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 8], eax
jne 0x1006d74a
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1006d74a
or ebx, 0xffffffff
mov byte [ebp - 4], 0x7d
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006d75d
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x7e
test esi, esi
je 0x1006d76c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0x7f
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0x80
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x1006d7a3
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1006d7a3
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006d7a3
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0x81
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x9c]
jmp 0x1006e1c6
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebx + 0x6c]
lea ecx, [eax - 1]
cmp eax, 1
cmovbe ecx, eax
mov edx, dword [ebx + 0x60]
cmp ecx, edx
cmovbe edx, ecx
mov eax, 1
cmp edx, eax
cmovb edx, eax
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x14], 0
ja 0x1006d809
jb 0x1006d804
cmp dword [eax + 0x10], 0x100000
jae 0x1006d809
mov edx, 1
mov dword [ebp - 0x9c], 0
mov byte [ebp - 4], 0x82
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 7
xor eax, eax
mov word [ebp - 0x5c], ax
mov byte [ebp - 4], 0x83
xorps xmm0, xmm0
movlpd qword [ebp - 0xd0], xmm0
mov byte [ebp - 4], 0x84
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x9c]
push eax
push edx
push esi
push edi
push dword [ebp - 0x98]
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xa8]
push dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xd8]
call fcn.10069f30
mov dword [ebp - 0xbc], eax
mov dword [ebp - 4], 0x83
jmp 0x1006d8df
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006d8f8
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x98], 0
mov eax, dword [ebp - 0xbc]
cmp eax, 0x80004004
je 0x1006dd11
cmp eax, 0xe000000f
je 0x1006dd11
mov byte [ebp - 4], 0x90
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
xor eax, eax
mov word [ebp - 0x44], ax
mov byte [ebp - 4], 0x91
cmp dword [ebp - 0x9c], 3
jne 0x1006da22
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc4]
cmp eax, dword [ecx + 0x1c]
ja 0x1006d972
jb 0x1006d969
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ecx + 0x18]
jae 0x1006d972
mov byte [ebp - 0x8d], 0
jmp 0x1006d979
mov byte [ebp - 0x8d], 1
lea eax, [ebp - 0x8d]
push eax
movzx eax, byte [ecx + 0x95]
push eax
movzx eax, word [ecx + 0x50]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0xa8]
call fcn.10073110
mov byte [ebp - 4], 0x92
push eax
lea ecx, [ebp - 0x44]
call fcn.100119f0
mov byte [ebp - 4], 0x93
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x1006d9e7
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006d9dd
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e207
push edx
push ecx
call fcn.1009c133
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
xor eax, eax
mov word [ebp - 0x2c], ax
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x44]
call fcn.100860e0
test al, al
je 0x1006da22
mov dword [ebp - 0x34], 0
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 8
cmovae eax, dword [ebp - 0x44]
xor ecx, ecx
mov word [eax], cx
lea eax, [ebx + 0x64]
push eax
lea ecx, [ebp - 0xb4]
call fcn.100061a7
mov byte [ebp - 4], 0x97
cmp dword [ebp - 0x34], 0
je 0x1006da48
mov eax, dword [edi]
lea ecx, [ebp - 0x44]
push ecx
push 5
mov ecx, edi
call dword [eax + 0x44]
mov eax, dword [edi]
lea ecx, [ebp - 0x5c]
push ecx
push dword [ebp - 0x9c]
push dword [ebp - 0xb0]
mov ecx, edi
call dword [eax + 0x24]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0xb4]
test eax, eax
je 0x1006dbd1
call fcn.100061ca
mov byte [ebp - 4], 0x98
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x1006daba
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x44]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006dab0
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e20c
push edx
push ecx
call fcn.1009c133
add esp, 8
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
xor eax, eax
mov word [ebp - 0x44], ax
mov byte [ebp - 4], 0x9c
mov edx, dword [ebp - 0x48]
cmp edx, 8
jb 0x1006db0c
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x5c]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006db02
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e211
push edx
push ecx
call fcn.1009c133
add esp, 8
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 7
xor eax, eax
mov word [ebp - 0x5c], ax
mov byte [ebp - 4], 0xa0
mov ecx, dword [ebp - 0xc0]
or ebx, 0xffffffff
test ecx, ecx
je 0x1006db52
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x1006db52
mov eax, dword [ecx]
call dword [eax]
mov eax, ebx
mov ecx, dword [ebp - 0xc0]
lock xadd dword [ecx + 8], eax
jne 0x1006db52
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa1
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006db65
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0xa2
test esi, esi
je 0x1006db74
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0xa3
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0xa4
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x1006dbab
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1006dbab
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006dbab
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0xa5
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xcc]
jmp 0x1006e1c6
call fcn.100061ca
mov byte [ebp - 4], 0xa6
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x1006dc14
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x44]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006dc0a
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e216
push edx
push ecx
call fcn.1009c133
add esp, 8
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
xor eax, eax
mov word [ebp - 0x44], ax
mov byte [ebp - 4], 0xaa
mov edx, dword [ebp - 0x48]
cmp edx, 8
jb 0x1006dc66
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x5c]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006dc5c
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e21b
push edx
push ecx
call fcn.1009c133
add esp, 8
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 7
xor eax, eax
mov word [ebp - 0x5c], ax
mov byte [ebp - 4], 0xae
mov ecx, dword [ebp - 0xc0]
or ebx, 0xffffffff
test ecx, ecx
je 0x1006dcac
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x1006dcac
mov eax, dword [ecx]
call dword [eax]
mov eax, ebx
mov ecx, dword [ebp - 0xc0]
lock xadd dword [ecx + 8], eax
jne 0x1006dcac
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xaf
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006dcbf
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0xb0
test esi, esi
je 0x1006dcce
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0xb1
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0xb2
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x1006dd05
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1006dd05
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006dd05
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0xb3
jmp 0x1006d59c
mov byte [ebp - 4], 0x86
mov edx, dword [ebp - 0x48]
cmp edx, 8
jb 0x1006dd4f
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x5c]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006dd45
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e220
push edx
push ecx
call fcn.1009c133
add esp, 8
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 7
xor eax, eax
mov word [ebp - 0x5c], ax
mov byte [ebp - 4], 0x8a
mov ecx, dword [ebp - 0xc0]
or ebx, 0xffffffff
test ecx, ecx
je 0x1006dd95
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x1006dd95
mov eax, dword [ecx]
call dword [eax]
mov eax, ebx
mov ecx, dword [ebp - 0xc0]
lock xadd dword [ecx + 8], eax
jne 0x1006dd95
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x8b
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006dda8
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x8c
test esi, esi
je 0x1006ddb7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0x8d
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0x8e
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x1006ddee
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1006ddee
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006ddee
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0x8f
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xbc]
jmp 0x1006e1c6
push 0x100bc954
lea ecx, [ebp - 0x2c]
call fcn.100084b7
mov byte [ebp - 4], 0x55
mov eax, dword [edi]
lea ecx, [ebp - 0x2c]
push ecx
push dword [ebp - 0x9c]
push dword [ebp - 0xb0]
mov ecx, edi
call dword [eax + 0x20]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x56
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x1006de86
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006de76
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e225
push edx
push ecx
call fcn.1009c133
add esp, 8
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
xor ecx, ecx
mov word [ebp - 0x2c], cx
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1006df5c
mov byte [ebp - 4], 0x5a
test ebx, ebx
je 0x1006deda
or ebx, 0xffffffff
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 4], eax
jne 0x1006dedd
mov eax, dword [ecx]
call dword [eax]
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 8], eax
jne 0x1006dedd
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1006dedd
or ebx, 0xffffffff
mov byte [ebp - 4], 0x5b
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006def0
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x5c
test esi, esi
je 0x1006deff
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0x5d
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0x5e
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x1006df36
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1006df36
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006df36
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0x5f
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb4]
jmp 0x1006e1c6
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006df75
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x98], 0
push 0x100bc954
lea ecx, [ebp - 0x2c]
call fcn.100084b7
mov byte [ebp - 4], 0x60
mov eax, dword [edi]
lea ecx, [ebp - 0x2c]
push ecx
push 0
push dword [ebp - 0xb0]
mov ecx, edi
call dword [eax + 0x24]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x61
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x1006dfe3
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
cmp edx, 0x1000
jb 0x1006dfd3
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006e22a
push edx
push ecx
call fcn.1009c133
add esp, 8
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
xor ecx, ecx
mov word [ebp - 0x2c], cx
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1006e0b9
mov byte [ebp - 4], 0x65
test ebx, ebx
je 0x1006e037
or ebx, 0xffffffff
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 4], eax
jne 0x1006e03a
mov eax, dword [ecx]
call dword [eax]
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 8], eax
jne 0x1006e03a
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1006e03a
or ebx, 0xffffffff
mov byte [ebp - 4], 0x66
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006e04d
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x67
test esi, esi
je 0x1006e05c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0x68
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0x69
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x1006e093
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1006e093
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006e093
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0x6a
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xb4]
jmp 0x1006e1c6
mov byte [ebp - 4], 0x6b
test ebx, ebx
je 0x1006e0ed
or ebx, 0xffffffff
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 4], eax
jne 0x1006e0f0
mov eax, dword [ecx]
call dword [eax]
mov eax, ebx
mov ecx, dword [ebp - 0x94]
lock xadd dword [ecx + 8], eax
jne 0x1006e0f0
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1006e0f0
or ebx, 0xffffffff
mov byte [ebp - 4], 0x6c
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x1006e103
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x6d
test esi, esi
je 0x1006e112
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 0x6e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 0x6f
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x1006e149
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1006e149
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006e149
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0x70
jmp 0x1006d59c
mov byte [ebp - 4], 4
test esi, esi
je 0x1006e164
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov byte [ebp - 4], 5
test edi, edi
je 0x1006e173
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov byte [ebp - 4], 6
test ebx, ebx
je 0x1006e1a2
or ebx, 0xffffffff
mov eax, ebx
mov esi, dword [ebp - 0xa0]
lock xadd dword [esi + 4], eax
jne 0x1006e1a2
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x1006e1a2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x1006e1ba
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov dword [ebp - 4], 0xffffffff
mov eax, 0x80004005
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1009bd8a
mov esp, ebp
pop ebp
ret 8
call fcn.1009fd49
call fcn.1009fd49
call fcn.1009fd49
call fcn.1009fd49
call fcn.1009fd49
call fcn.1009fd49
call fcn.1009fd49
call fcn.1009fd49
call fcn.1009fd49
call fcn.1009fd49
call fcn.1009fd49
call fcn.1009fd49
call fcn.1009fd49
call fcn.1009fd49
call fcn.1009fd49
int3