Function at 0x69a550
Capabilities:
Parse pe header

Disassembly:
push ebp
lea ebp, [esp - 0x48]
sub esp, 0x48
push 0xffffffffffffffff
push 0x818d17
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x98
cmp dword [0x930fa4], 0
mov eax, 0x930fa0
push ebx
push esi
push edi
mov ebx, edx
mov edi, ecx
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x2c], edi
je 0x69a5a2
mov edx, dword [ebp + 0x50]
cmp edx, dword [eax]
je 0x69a714
add eax, 8
cmp dword [eax + 4], 0
jne 0x69a591
mov ecx, str.Unknown_error
movsx eax, byte [ecx]
lea edx, [ebp - 0x74]
xor esi, esi
mov dword [ebp + 0x34], edx
mov dword [ebp + 0x30], esi
test eax, eax
je 0x69ac49
nop dword [eax]
inc ecx
mov dword [ebp + 0x38], ecx
cmp eax, 0x25
jne 0x69cda6
mov cl, byte [ecx]
test cl, cl
je 0x69cda3
test esi, esi
jle 0x69aaa9
mov eax, dword [0x948fd4]
mov byte [edx], 0
test al, 1
jne 0x69a62a
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x948fd8]
lea ebx, [ebp - 0x74]
mov dword [ebp + 0x44], esi
lea ecx, [ebx + 1]
mov dword [ebp + 0x30], esi
nop dword [eax]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x69a640
push 0
push 0
sub ebx, ecx
lea eax, [ebp - 0x74]
push ebx
push eax
push 0
push 3
call dword [0x826190]
mov ecx, eax
mov dword [ebp + 0x34], ecx
test ecx, ecx
jne 0x69a71c
test esi, esi
je 0x69a6c8
mov eax, dword [0x948fd4]
test al, 1
jne 0x69a6ae
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 1
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69a6c8
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69a6c8
push esi
call fcn.0079605d
add esp, 4
mov eax, dword [0x948fd4]
test al, 1
jne 0x69a709
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 2
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov esi, dword [0x948fd8]
jmp 0x69a946
mov ecx, dword [eax + 4]
jmp 0x69a5a7
cmp ecx, dword [esi + 4]
ja 0x69a73b
cmp dword [esi], 1
mov esi, dword [ebp + 0x30]
mov dword [ebp + 0x44], esi
jg 0x69a73b
xor eax, eax
mov dword [esi + 8], ecx
mov word [esi + ecx*2 + 0xc], ax
jmp 0x69a94c
mov eax, dword [0x948fd4]
test al, 1
jne 0x69a786
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 3
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [ebp + 0x34]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
mov dword [ebp - 4], 0xffffffff
cmp esi, dword [0x948fd8]
jne 0x69a801
test ecx, ecx
je 0x69a7e4
lea eax, [ecx*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x69a7c8
mov eax, dword [0x948fd4]
test al, 1
jne 0x69a89a
or dword [0x948fd4], 1
mov dword [ebp - 4], 4
jmp 0x69a874
mov eax, 1
xchg dword [edi], eax
mov ecx, dword [ebp + 0x34]
xor eax, eax
mov dword [edi + 8], ecx
mov dword [edi + 4], ecx
mov word [edi + ecx*2 + 0xc], ax
jmp 0x69a8a0
mov eax, dword [0x948fd4]
test al, 1
jne 0x69a89a
or dword [0x948fd4], 1
mov dword [ebp - 4], 5
jmp 0x69a874
test ecx, ecx
je 0x69a85d
lea eax, [ecx + ecx*2]
shr eax, 1
cmp eax, ecx
cmovb eax, ecx
mov dword [ebp + 0x24], eax
lea eax, [eax*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x69a841
mov eax, dword [0x948fd4]
test al, 1
jne 0x69a89a
or dword [0x948fd4], 1
mov dword [ebp - 4], 6
jmp 0x69a874
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x24]
mov dword [edi + 4], ecx
xor ecx, ecx
mov dword [edi + 8], eax
mov word [edi + eax*2 + 0xc], cx
jmp 0x69a8a0
mov eax, dword [0x948fd4]
test al, 1
jne 0x69a89a
or dword [0x948fd4], 1
mov dword [ebp - 4], 7
push 0x10
call fcn.007965bb
mov ecx, 1
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov dword [eax + 4], ecx
mov edi, dword [0x948fd8]
mov eax, dword [0x948fd4]
test al, 1
jne 0x69a8e1
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 8
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp edi, dword [0x948fd8]
je 0x69a94c
mov eax, dword [0x948fd4]
test al, 1
jne 0x69a92a
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0xa
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69a944
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69a944
push esi
call fcn.0079605d
add esp, 4
mov esi, edi
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x44], esi
mov eax, dword [0x948fd4]
test al, 1
jne 0x69a98d
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0xb
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
lea edi, [esi + 0xc]
cmp esi, dword [0x948fd8]
je 0x69a9ab
push dword [ebp + 0x34]
lea eax, [ebp - 0x74]
push edi
push ebx
push eax
push 0
push 0
call dword [0x826190]
mov dword [ebp - 4], 0xc
mov eax, dword [0x948fd4]
test al, 1
jne 0x69a9f4
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0xd
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov byte [ebp - 4], 0xc
cmp esi, dword [0x948fd8]
jne 0x69aa00
xor eax, eax
jmp 0x69aa03
mov eax, dword [esi + 8]
lea ebx, [edi + eax*2]
cmp edi, ebx
jae 0x69aa2b
mov esi, dword [ebp + 0x18]
nop dword [eax]
mov edx, dword [esi]
mov ecx, esi
movzx eax, word [edi]
push eax
mov eax, dword [edx + 0x1c]
call eax
add edi, 2
test al, al
je 0x69aa28
cmp edi, ebx
jb 0x69aa10
mov esi, dword [ebp + 0x44]
mov dword [ebp - 4], 0xe
test esi, esi
je 0x69aa8a
mov eax, dword [0x948fd4]
test al, 1
jne 0x69aa70
or dword [0x948fd4], 1
push 0x10
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69aa8a
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69aa8a
push esi
call fcn.0079605d
add esp, 4
mov eax, dword [ebp + 0x38]
lea edx, [ebp - 0x74]
mov ebx, dword [ebp + 0x18]
xor esi, esi
mov edi, dword [ebp + 0x2c]
mov dword [ebp - 4], 0xffffffff
mov cl, byte [eax]
mov dword [ebp + 0x34], edx
mov dword [ebp + 0x30], esi
jmp 0x69aaac
mov eax, dword [ebp + 0x38]
inc eax
mov dword [ebp + 0x38], eax
movsx eax, cl
sub eax, 0x4c
cmp eax, 0x2a
ja case.0x69aac6.78
movzx eax, byte [eax + 0x69ce00]
jmp dword [eax*4 + 0x69cdd8]
mov eax, dword [edi + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x40]
push eax
push 0x8a2448
push ebx
call fcn.0062fc00
mov edx, dword [ebp + 0x34]
add esp, 0xc
jmp case.0x69aac6.78
mov eax, dword [edi + 0x14]
push dword [eax + 0x4a4]
push 0x882f88
push ebx
call fcn.0062fc00
mov edx, dword [ebp + 0x34]
add esp, 0xc
jmp case.0x69aac6.78
mov eax, dword [ebp + 0x54]
add eax, 8
mov dword [ebp + 0x54], eax
mov esi, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [ebp + 0x28], esi
mov dword [ebp + 0x14], edx
cmp esi, 0xb
jne 0x69ab34
cmp edx, 0x20000
je 0x69ac5b
mov ecx, edx
xor eax, eax
and ecx, 0xfff00000
or eax, ecx
jne 0x69ac5b
mov eax, edx
shr eax, 0x10
and eax, 0xf
cmp eax, 2
jne 0x69ac5b
mov edx, esi
lea ecx, [ebp + 0x10]
call fcn.00647a40
mov dword [ebp - 4], 0xf
mov esi, dword [ebp + 0x10]
lea edi, [esi + 0xc]
test edi, edi
je 0x69abbb
cmp word [edi], 0
mov eax, edi
je 0x69ab89
nop word [eax + eax]
add eax, 2
cmp word [eax], 0
jne 0x69ab80
sub eax, edi
sar eax, 1
lea eax, [edi + eax*2]
mov dword [ebp + 0x24], eax
cmp edi, eax
jae 0x69abbb
mov esi, eax
nop dword [eax]
mov edx, dword [ebx]
mov ecx, ebx
movzx eax, word [edi]
push eax
mov eax, dword [edx + 0x1c]
call eax
add edi, 2
test al, al
je 0x69abb8
cmp edi, esi
jb 0x69aba0
mov esi, dword [ebp + 0x10]
mov dword [ebp - 4], 0x10
test esi, esi
je 0x69ac1a
mov eax, dword [0x948fd4]
test al, 1
jne 0x69ac00
or dword [0x948fd4], 1
push 0x10
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
mov dword [eax + 8], 0
xor ecx, ecx
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69ac1a
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69ac1a
push esi
call fcn.0079605d
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 0x34]
mov esi, dword [ebp + 0x30]
mov edi, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x38]
movsx eax, byte [ecx]
test eax, eax
jne 0x69a5c0
test esi, esi
jle 0x69ac49
mov byte [edx], al
mov ecx, ebx
lea eax, [ebp - 0x74]
push eax
call fcn.005de1a7
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
lea esp, [ebp + 0x48]
pop ebp
ret
push edx
push esi
call fcn.0062f7f0
mov edi, eax
add esp, 8
mov eax, dword [0x948fd4]
mov dword [ebp + 0x24], edi
test al, 1
jne 0x69acb2
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x11
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x948fd8]
mov dword [ebp + 0x44], esi
mov dword [ebp + 0x3c], esi
test edi, edi
je 0x69acd2
mov ebx, edi
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x69acc7
sub ebx, ecx
jmp 0x69acd9
xor edi, edi
xor ebx, ebx
mov dword [ebp + 0x24], edi
push 0
push 0
push ebx
push edi
push 0
push 3
call dword [0x826190]
mov dword [ebp + 0x40], eax
test eax, eax
jne 0x69ada3
test esi, esi
je 0x69ad55
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69ad3b
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x12
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69ad55
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69ad55
push esi
call fcn.0079605d
add esp, 4
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69ad98
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x13
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov esi, dword [0x948fd8]
jmp 0x69afdb
cmp eax, dword [esi + 4]
ja 0x69adc2
cmp dword [esi], 1
mov esi, dword [ebp + 0x3c]
mov dword [ebp + 0x44], esi
jg 0x69adc2
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
jmp 0x69afe1
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69ae0f
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x14
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0x40]
cmp esi, dword [0x948fd8]
jne 0x69ae8e
test eax, eax
je 0x69ae6f
lea eax, [eax*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x69ae53
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69af2b
or dword [0x948fd4], 1
mov dword [ebp - 4], 0x15
jmp 0x69af05
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x40]
xor ecx, ecx
mov dword [edi + 8], eax
mov dword [edi + 4], eax
mov word [edi + eax*2 + 0xc], cx
jmp 0x69af31
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69af2b
or dword [0x948fd4], 1
mov dword [ebp - 4], 0x16
jmp 0x69af05
test eax, eax
je 0x69aeec
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp + 0x1c], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x69aed0
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69af2b
or dword [0x948fd4], 1
mov dword [ebp - 4], 0x17
jmp 0x69af05
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x40]
mov ecx, dword [ebp + 0x1c]
mov dword [edi + 4], ecx
xor ecx, ecx
mov dword [edi + 8], eax
mov word [edi + eax*2 + 0xc], cx
jmp 0x69af31
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69af2b
or dword [0x948fd4], 1
mov dword [ebp - 4], 0x18
push 0x10
call fcn.007965bb
mov ecx, 1
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov dword [eax + 4], ecx
mov edi, dword [0x948fd8]
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69af74
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x19
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp edi, dword [0x948fd8]
je 0x69afe1
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69afbf
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x1b
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69afd9
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69afd9
push esi
call fcn.0079605d
add esp, 4
mov esi, edi
mov dword [ebp + 0x3c], esi
mov dword [ebp + 0x44], esi
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69b024
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x1c
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
lea edi, [esi + 0xc]
cmp esi, dword [0x948fd8]
je 0x69b041
push dword [ebp + 0x40]
push edi
push ebx
push dword [ebp + 0x24]
push 0
push 0
call dword [0x826190]
mov dword [ebp - 4], 0x1d
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69b08c
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x1e
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov byte [ebp - 4], 0x1d
cmp esi, dword [0x948fd8]
jne 0x69b098
xor eax, eax
jmp 0x69b09b
mov eax, dword [esi + 8]
mov ebx, dword [ebp + 0x18]
lea eax, [edi + eax*2]
mov dword [ebp + 0x1c], eax
cmp edi, eax
jae 0x69b0cb
mov esi, eax
nop word [eax + eax]
mov edx, dword [ebx]
mov ecx, ebx
movzx eax, word [edi]
push eax
mov eax, dword [edx + 0x1c]
call eax
add edi, 2
test al, al
je 0x69b0c8
cmp edi, esi
jb 0x69b0b0
mov esi, dword [ebp + 0x44]
mov dword [ebp - 4], 0x1f
test esi, esi
je 0x69b12c
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69b112
or dword [0x948fd4], 1
push 0x10
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69b12c
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69b12c
push esi
call fcn.0079605d
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69b17d
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x20
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x948fd8]
push 0
push 0
push 1
push 0x8a24c8
push 0
push 3
mov dword [ebp + 0x44], esi
mov dword [ebp + 0x40], esi
call dword [0x826190]
mov dword [ebp + 0x3c], eax
test eax, eax
jne 0x69b268
test esi, esi
je 0x69b212
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69b1f8
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x21
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69b218
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69b212
push esi
call fcn.0079605d
add esp, 4
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69b25d
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x22
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
mov esi, dword [0x948fd8]
jmp 0x69b4ca
cmp eax, dword [esi + 4]
ja 0x69b28d
cmp dword [esi], 1
mov esi, dword [ebp + 0x40]
mov dword [ebp + 0x44], esi
jg 0x69b28d
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
mov ecx, dword [0x948fd4]
jmp 0x69b4d0
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69b2e2
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x23
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
mov eax, dword [ebp + 0x3c]
cmp esi, dword [0x948fd8]
jne 0x69b365
test eax, eax
je 0x69b34a
lea eax, [eax*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x69b328
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69b410
or ecx, 1
mov dword [0x948fd4], ecx
mov dword [ebp - 4], 0x24
jmp 0x69b3e0
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x3c]
xor ecx, ecx
mov dword [edi + 8], eax
mov dword [edi + 4], eax
mov word [edi + eax*2 + 0xc], cx
mov ecx, dword [0x948fd4]
jmp 0x69b416
test cl, 1
jne 0x69b410
or ecx, 1
mov dword [0x948fd4], ecx
mov dword [ebp - 4], 0x25
jmp 0x69b3e0
test eax, eax
je 0x69b3cb
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp + 0x1c], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x69b3a9
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69b410
or ecx, 1
mov dword [0x948fd4], ecx
mov dword [ebp - 4], 0x26
jmp 0x69b3e0
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x1c]
mov dword [edi + 4], ecx
xor ecx, ecx
mov dword [edi + 8], eax
mov word [edi + eax*2 + 0xc], cx
mov ecx, dword [0x948fd4]
jmp 0x69b416
test cl, 1
jne 0x69b410
or ecx, 1
mov dword [0x948fd4], ecx
mov dword [ebp - 4], 0x27
push 0x10
call fcn.007965bb
mov ecx, 1
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [0x948fd8], eax
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov edi, dword [0x948fd8]
test cl, 1
jne 0x69b45b
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x28
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
cmp edi, dword [0x948fd8]
je 0x69b4d0
test cl, 1
jne 0x69b4a8
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x2a
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69b4c8
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69b4c2
push esi
call fcn.0079605d
add esp, 4
mov ecx, dword [0x948fd4]
mov esi, edi
mov dword [ebp + 0x40], esi
mov dword [ebp + 0x44], esi
test cl, 1
jne 0x69b515
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x2b
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
lea edi, [esi + 0xc]
cmp esi, dword [0x948fd8]
je 0x69b53b
push dword [ebp + 0x3c]
push edi
push 1
push 0x8a24c8
push 0
push 0
call dword [0x826190]
mov ecx, dword [0x948fd4]
mov dword [ebp - 4], 0x2c
test cl, 1
jne 0x69b588
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov byte [ebp - 4], 0x2d
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov byte [ebp - 4], 0x2c
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
jne 0x69b594
xor eax, eax
jmp 0x69b597
mov eax, dword [esi + 8]
lea eax, [edi + eax*2]
mov dword [ebp + 0x1c], eax
cmp edi, eax
jae 0x69b5c4
mov esi, eax
mov edx, dword [ebx]
mov ecx, ebx
movzx eax, word [edi]
push eax
mov eax, dword [edx + 0x1c]
call eax
add edi, 2
test al, al
je 0x69b5bb
cmp edi, esi
jb 0x69b5a3
mov ecx, dword [0x948fd4]
mov esi, dword [ebp + 0x44]
mov dword [ebp - 4], 0x2e
test esi, esi
je 0x69b621
test cl, 1
jne 0x69b607
or ecx, 1
push 0x10
mov dword [0x948fd4], ecx
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69b621
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69b621
push esi
call fcn.0079605d
add esp, 4
push dword [ebp + 0x14]
mov ecx, dword [ebp + 0x2c]
mov edx, ebx
push dword [ebp + 0x28]
mov dword [ebp - 4], 0xffffffff
call fcn.0062f910
mov eax, dword [0x948fd4]
add esp, 8
test al, 1
jne 0x69b68c
or eax, 1
mov dword [0x948fd4], eax
push 0x10
mov dword [ebp - 4], 0x2f
call fcn.007965bb
mov esi, eax
add esp, 4
mov dword [ebp + 0x44], esi
mov eax, 1
xchg dword [esi], eax
xor eax, eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov word [esi + 0xc], ax
mov dword [0x948fd8], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x69b695
mov esi, dword [0x948fd8]
mov dword [ebp + 0x44], esi
push 0
push 0
push 1
push 0x883b78
push 0
push 3
mov dword [ebp + 0x40], esi
call dword [0x826190]
mov ecx, eax
mov dword [ebp + 0x3c], ecx
test ecx, ecx
jne 0x69b765
test esi, esi
je 0x69b719
mov eax, dword [0x948fd4]
test al, 1
jne 0x69b6ff
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x30
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69b719
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69b719
push esi
call fcn.0079605d
add esp, 4
mov eax, dword [0x948fd4]
test al, 1
jne 0x69b75a
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x31
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov esi, dword [0x948fd8]
jmp 0x69b98f
cmp ecx, dword [esi + 4]
ja 0x69b784
cmp dword [esi], 1
mov esi, dword [ebp + 0x40]
mov dword [ebp + 0x44], esi
jg 0x69b784
xor eax, eax
mov dword [esi + 8], ecx
mov word [esi + ecx*2 + 0xc], ax
jmp 0x69b995
mov eax, dword [0x948fd4]
test al, 1
jne 0x69b7cf
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x32
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov word [eax + 0xc], cx
mov ecx, dword [ebp + 0x3c]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
jne 0x69b84a
test ecx, ecx
je 0x69b82d
lea eax, [ecx*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x69b811
mov eax, dword [0x948fd4]
test al, 1
jne 0x69b8e3
or dword [0x948fd4], 1
mov dword [ebp - 4], 0x33
jmp 0x69b8bd
mov eax, 1
xchg dword [edi], eax
mov ecx, dword [ebp + 0x3c]
xor eax, eax
mov dword [edi + 8], ecx
mov dword [edi + 4], ecx
mov word [edi + ecx*2 + 0xc], ax
jmp 0x69b8e9
mov eax, dword [0x948fd4]
test al, 1
jne 0x69b8e3
or dword [0x948fd4], 1
mov dword [ebp - 4], 0x34
jmp 0x69b8bd
test ecx, ecx
je 0x69b8a6
lea eax, [ecx + ecx*2]
shr eax, 1
cmp eax, ecx
cmovb eax, ecx
mov dword [ebp + 0x28], eax
lea eax, [eax*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x69b88a
mov eax, dword [0x948fd4]
test al, 1
jne 0x69b8e3
or dword [0x948fd4], 1
mov dword [ebp - 4], 0x35
jmp 0x69b8bd
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x28]
mov dword [edi + 4], ecx
xor ecx, ecx
mov dword [edi + 8], eax
mov word [edi + eax*2 + 0xc], cx
jmp 0x69b8e9
mov eax, dword [0x948fd4]
test al, 1
jne 0x69b8e3
or dword [0x948fd4], 1
mov dword [ebp - 4], 0x36
push 0x10
call fcn.007965bb
mov ecx, 1
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov dword [eax + 4], ecx
mov edi, dword [0x948fd8]
mov eax, dword [0x948fd4]
test al, 1
jne 0x69b92a
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x37
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp edi, dword [0x948fd8]
je 0x69b995
mov eax, dword [0x948fd4]
test al, 1
jne 0x69b973
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x39
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69b98d
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69b98d
push esi
call fcn.0079605d
add esp, 4
mov esi, edi
mov dword [ebp + 0x40], esi
mov dword [ebp + 0x44], esi
mov eax, dword [0x948fd4]
test al, 1
jne 0x69b9d6
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x3a
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
lea edi, [esi + 0xc]
cmp esi, dword [0x948fd8]
je 0x69b9f6
push dword [ebp + 0x3c]
push edi
push 1
push 0x883b78
push 0
push 0
call dword [0x826190]
mov dword [ebp - 4], 0x3b
mov eax, dword [0x948fd4]
test al, 1
jne 0x69ba3f
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x3c
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov byte [ebp - 4], 0x3b
cmp esi, dword [0x948fd8]
jne 0x69ba4b
xor eax, eax
jmp 0x69ba4e
mov eax, dword [esi + 8]
lea eax, [edi + eax*2]
mov dword [ebp + 0x28], eax
cmp edi, eax
jae 0x69ba7b
mov esi, eax
nop word [eax + eax]
mov edx, dword [ebx]
mov ecx, ebx
movzx eax, word [edi]
push eax
mov eax, dword [edx + 0x1c]
call eax
add edi, 2
test al, al
je 0x69ba78
cmp edi, esi
jb 0x69ba60
mov esi, dword [ebp + 0x44]
mov dword [ebp - 4], 0x3d
jmp 0x69abc2
mov eax, dword [ebp + 0x54]
add eax, 8
mov dword [ebp + 0x54], eax
mov edi, dword [eax - 8]
mov esi, dword [eax - 4]
cmp edi, 0xb
jne 0x69baa7
cmp esi, 0x20000
je 0x69bb27
mov ecx, esi
xor eax, eax
and ecx, 0xfff00000
or eax, ecx
jne 0x69bb27
mov eax, esi
shr eax, 0x10
and eax, 0xf
cmp eax, 2
jne 0x69bb27
mov edx, edi
lea ecx, [ebp + 0xc]
call fcn.00647a40
mov dword [ebp - 4], 0x3e
mov esi, dword [ebp + 0xc]
lea edi, [esi + 0xc]
test edi, edi
je 0x69bb1b
cmp word [edi], 0
mov eax, edi
je 0x69baee
add eax, 2
cmp word [eax], 0
jne 0x69bae5
sub eax, edi
sar eax, 1
lea eax, [edi + eax*2]
mov dword [ebp + 0x28], eax
cmp edi, eax
jae 0x69bb1b
mov esi, eax
nop
mov edx, dword [ebx]
mov ecx, ebx
movzx eax, word [edi]
push eax
mov eax, dword [edx + 0x1c]
call eax
add edi, 2
test al, al
je 0x69bb18
cmp edi, esi
jb 0x69bb00
mov esi, dword [ebp + 0xc]
mov dword [ebp - 4], 0x3f
jmp 0x69abc2
sub esp, 8
lea ecx, [ebp - 0xa4]
mov eax, esp
push 0
push ebx
push dword [ebp + 0x2c]
mov dword [eax], 0x89240c
mov dword [eax + 4], 1
call fcn.00624610
push 1
push esi
push edi
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x40
call fcn.0062a780
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0xffffffff
call fcn.006248e0
jmp 0x69ac21
mov eax, dword [ebp + 0x54]
add eax, 8
mov dword [ebp + 0x54], eax
mov edi, dword [eax - 8]
mov esi, dword [eax - 4]
mov dword [ebp + 0x14], edi
mov dword [ebp + 0x28], esi
cmp edi, 0xb
jne 0x69bb9d
cmp esi, 0x20000
je 0x69bc27
mov ecx, esi
xor eax, eax
and ecx, 0xfff00000
or eax, ecx
jne 0x69bc27
mov eax, esi
shr eax, 0x10
and eax, 0xf
cmp eax, 2
jne 0x69bc27
mov edx, edi
lea ecx, [ebp + 8]
call fcn.00647a40
mov dword [ebp - 4], 0x41
mov esi, dword [ebp + 8]
lea edi, [esi + 0xc]
test edi, edi
je 0x69bc1b
cmp word [edi], 0
mov eax, edi
je 0x69bbe9
nop dword [eax + eax]
add eax, 2
cmp word [eax], 0
jne 0x69bbe0
sub eax, edi
sar eax, 1
lea eax, [edi + eax*2]
mov dword [ebp + 0x28], eax
cmp edi, eax
jae 0x69bc1b
mov esi, eax
nop dword [eax]
mov edx, dword [ebx]
mov ecx, ebx
movzx eax, word [edi]
push eax
mov eax, dword [edx + 0x1c]
call eax
add edi, 2
test al, al
je 0x69bc18
cmp edi, esi
jb 0x69bc00
mov esi, dword [ebp + 8]
mov dword [ebp - 4], 0x42
jmp 0x69abc2
push esi
push edi
call fcn.005de677
add esp, 8
push esi
push edi
test al, al
je 0x69c1aa
mov edi, dword [ebp + 0x2c]
lea ecx, [ebp]
mov edx, edi
mov dword [ebp + 0x24], 0
call fcn.005de693
mov ecx, dword [ebp]
add esp, 8
mov eax, dword [ebp + 4]
mov dword [ebp + 0x3c], ecx
lea eax, [ecx + eax*8]
mov dword [ebp + 0x20], eax
cmp ecx, eax
je 0x69c19f
nop dword [eax]
mov eax, dword [ecx]
mov dword [ebp + 0x1c], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp + 0x24]
mov dword [ebp + 0x14], eax
mov eax, ecx
inc ecx
mov dword [ebp + 0x24], ecx
test eax, eax
jle 0x69c17b
mov eax, dword [0x948fd4]
test al, 1
jne 0x69bcdd
or eax, 1
mov dword [0x948fd4], eax
push 0x10
mov dword [ebp - 4], 0x43
call fcn.007965bb
mov esi, eax
add esp, 4
mov dword [ebp + 0x44], esi
mov eax, 1
xchg dword [esi], eax
xor eax, eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov word [esi + 0xc], ax
mov dword [0x948fd8], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x69bce6
mov esi, dword [0x948fd8]
mov dword [ebp + 0x44], esi
push 0
push 0
push 1
push 0x87f3b8
push 0
push 3
mov dword [ebp + 0x40], esi
call dword [0x826190]
mov ebx, eax
test ebx, ebx
jne 0x69bdbf
test esi, esi
je 0x69bd69
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69bd4f
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x44
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], ebx
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], ebx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69bd6f
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69bd69
push esi
call fcn.0079605d
add esp, 4
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69bdb4
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x45
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
mov esi, dword [0x948fd8]
jmp 0x69c018
cmp ebx, dword [esi + 4]
ja 0x69bde4
cmp dword [esi], 1
mov esi, dword [ebp + 0x40]
mov dword [ebp + 0x44], esi
jg 0x69bde4
mov dword [esi + 8], ebx
xor eax, eax
mov word [esi + ebx*2 + 0xc], ax
mov ecx, dword [0x948fd4]
jmp 0x69c01e
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69be36
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x46
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
jne 0x69beb6
test ebx, ebx
je 0x69be9b
lea eax, [ebx*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x69be7c
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69bf5e
or ecx, 1
mov dword [0x948fd4], ecx
mov dword [ebp - 4], 0x47
jmp 0x69bf2e
mov eax, 1
xchg dword [edi], eax
mov ecx, dword [0x948fd4]
xor eax, eax
mov dword [edi + 8], ebx
mov dword [edi + 4], ebx
mov word [edi + ebx*2 + 0xc], ax
jmp 0x69bf64
test cl, 1
jne 0x69bf5e
or ecx, 1
mov dword [0x948fd4], ecx
mov dword [ebp - 4], 0x48
jmp 0x69bf2e
test ebx, ebx
je 0x69bf19
lea eax, [ebx + ebx*2]
shr eax, 1
cmp eax, ebx
cmovb eax, ebx
mov dword [ebp + 0x28], eax
lea eax, [eax*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x69befa
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69bf5e
or ecx, 1
mov dword [0x948fd4], ecx
mov dword [ebp - 4], 0x49
jmp 0x69bf2e
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x28]
mov ecx, dword [0x948fd4]
mov dword [edi + 4], eax
xor eax, eax
mov dword [edi + 8], ebx
mov word [edi + ebx*2 + 0xc], ax
jmp 0x69bf64
test cl, 1
jne 0x69bf5e
or ecx, 1
mov dword [0x948fd4], ecx
mov dword [ebp - 4], 0x4a
push 0x10
call fcn.007965bb
mov ecx, 1
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [0x948fd8], eax
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov edi, dword [0x948fd8]
test cl, 1
jne 0x69bfa9
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x4b
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
cmp edi, dword [0x948fd8]
je 0x69c01e
test cl, 1
jne 0x69bff6
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x4d
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69c016
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69c010
push esi
call fcn.0079605d
add esp, 4
mov ecx, dword [0x948fd4]
mov esi, edi
mov dword [ebp + 0x40], esi
mov dword [ebp + 0x44], esi
test cl, 1
jne 0x69c063
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x4e
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
lea edi, [esi + 0xc]
cmp esi, dword [0x948fd8]
je 0x69c087
push ebx
push edi
push 1
push 0x87f3b8
push 0
push 0
call dword [0x826190]
mov ecx, dword [0x948fd4]
mov dword [ebp - 4], 0x4f
test cl, 1
jne 0x69c0d4
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov byte [ebp - 4], 0x50
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov byte [ebp - 4], 0x4f
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
jne 0x69c0e0
xor eax, eax
jmp 0x69c0e3
mov eax, dword [esi + 8]
lea ebx, [edi + eax*2]
cmp edi, ebx
jae 0x69c111
mov esi, dword [ebp + 0x18]
nop dword [eax]
mov edx, dword [esi]
mov ecx, esi
movzx eax, word [edi]
push eax
mov eax, dword [edx + 0x1c]
call eax
add edi, 2
test al, al
je 0x69c108
cmp edi, ebx
jb 0x69c0f0
mov ecx, dword [0x948fd4]
mov esi, dword [ebp + 0x44]
mov dword [ebp - 4], 0x51
test esi, esi
je 0x69c16e
test cl, 1
jne 0x69c154
or ecx, 1
push 0x10
mov dword [0x948fd4], ecx
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69c16e
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69c16e
push esi
call fcn.0079605d
add esp, 4
mov ebx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x2c]
mov dword [ebp - 4], 0xffffffff
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push dword [ebp + 0x1c]
call fcn.0062f910
mov ecx, dword [ebp + 0x3c]
add esp, 8
add ecx, 8
mov dword [ebp + 0x3c], ecx
cmp ecx, dword [ebp + 0x20]
jne 0x69bc70
mov edx, dword [ebp + 0x34]
mov esi, dword [ebp + 0x30]
jmp case.0x69aac6.78
call fcn.0062f7f0
mov edi, eax
add esp, 8
mov eax, dword [0x948fd4]
mov dword [ebp + 0x24], edi
test al, 1
jne 0x69c1ff
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x52
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x948fd8]
mov dword [ebp + 0x44], esi
mov dword [ebp + 0x40], esi
test edi, edi
je 0x69c21f
mov ebx, edi
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x69c214
sub ebx, ecx
jmp 0x69c226
xor edi, edi
xor ebx, ebx
mov dword [ebp + 0x24], edi
push 0
push 0
push ebx
push edi
push 0
push 3
call dword [0x826190]
mov dword [ebp + 0x3c], eax
test eax, eax
jne 0x69c2f0
test esi, esi
je 0x69c2a2
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c288
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x53
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69c2a2
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69c2a2
push esi
call fcn.0079605d
add esp, 4
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c2e5
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x54
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov esi, dword [0x948fd8]
jmp 0x69c528
cmp eax, dword [esi + 4]
ja 0x69c30f
cmp dword [esi], 1
mov esi, dword [ebp + 0x40]
mov dword [ebp + 0x44], esi
jg 0x69c30f
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
jmp 0x69c52e
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c35c
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x55
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0x3c]
cmp esi, dword [0x948fd8]
jne 0x69c3db
test eax, eax
je 0x69c3bc
lea eax, [eax*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x69c3a0
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c478
or dword [0x948fd4], 1
mov dword [ebp - 4], 0x56
jmp 0x69c452
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x3c]
xor ecx, ecx
mov dword [edi + 8], eax
mov dword [edi + 4], eax
mov word [edi + eax*2 + 0xc], cx
jmp 0x69c47e
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c478
or dword [0x948fd4], 1
mov dword [ebp - 4], 0x57
jmp 0x69c452
test eax, eax
je 0x69c439
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp + 0x20], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x69c41d
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c478
or dword [0x948fd4], 1
mov dword [ebp - 4], 0x58
jmp 0x69c452
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x20]
mov dword [edi + 4], ecx
xor ecx, ecx
mov dword [edi + 8], eax
mov word [edi + eax*2 + 0xc], cx
jmp 0x69c47e
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c478
or dword [0x948fd4], 1
mov dword [ebp - 4], 0x59
push 0x10
call fcn.007965bb
mov ecx, 1
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov dword [eax + 4], ecx
mov edi, dword [0x948fd8]
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c4c1
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x5a
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp edi, dword [0x948fd8]
je 0x69c52e
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c50c
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x5c
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69c526
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69c526
push esi
call fcn.0079605d
add esp, 4
mov esi, edi
mov dword [ebp + 0x40], esi
mov dword [ebp + 0x44], esi
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c571
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x5d
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
lea edi, [esi + 0xc]
cmp esi, dword [0x948fd8]
je 0x69c58e
push dword [ebp + 0x3c]
push edi
push ebx
push dword [ebp + 0x24]
push 0
push 0
call dword [0x826190]
mov dword [ebp - 4], 0x5e
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c5d9
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x5f
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov byte [ebp - 4], 0x5e
cmp esi, dword [0x948fd8]
jne 0x69c5e5
xor eax, eax
jmp 0x69c5e8
mov eax, dword [esi + 8]
mov ebx, dword [ebp + 0x18]
lea eax, [edi + eax*2]
mov dword [ebp + 0x20], eax
cmp edi, eax
jae 0x69c612
mov esi, eax
mov edx, dword [ebx]
mov ecx, ebx
movzx eax, word [edi]
push eax
mov eax, dword [edx + 0x1c]
call eax
add edi, 2
test al, al
je 0x69c60f
cmp edi, esi
jb 0x69c5f7
mov esi, dword [ebp + 0x44]
mov dword [ebp - 4], 0x60
test esi, esi
je 0x69c673
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c659
or dword [0x948fd4], 1
push 0x10
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69c673
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69c673
push esi
call fcn.0079605d
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c6c4
or dword [0x948fd4], 1
push 0x10
mov dword [ebp - 4], 0x61
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x948fd8]
push 0
push 0
push 1
push 0x8a24c8
push 0
push 3
mov dword [ebp + 0x44], esi
mov dword [ebp + 0x40], esi
call dword [0x826190]
mov dword [ebp + 0x3c], eax
test eax, eax
jne 0x69c7af
test esi, esi
je 0x69c759
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c73f
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x62
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69c75f
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69c759
push esi
call fcn.0079605d
add esp, 4
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c7a4
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x63
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
mov esi, dword [0x948fd8]
jmp 0x69ca11
cmp eax, dword [esi + 4]
ja 0x69c7d4
cmp dword [esi], 1
mov esi, dword [ebp + 0x40]
mov dword [ebp + 0x44], esi
jg 0x69c7d4
xor ecx, ecx
mov dword [esi + 8], eax
mov word [esi + eax*2 + 0xc], cx
mov ecx, dword [0x948fd4]
jmp 0x69ca17
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c829
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x64
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
mov eax, dword [ebp + 0x3c]
cmp esi, dword [0x948fd8]
jne 0x69c8ac
test eax, eax
je 0x69c891
lea eax, [eax*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x69c86f
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c957
or ecx, 1
mov dword [0x948fd4], ecx
mov dword [ebp - 4], 0x65
jmp 0x69c927
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x3c]
xor ecx, ecx
mov dword [edi + 8], eax
mov dword [edi + 4], eax
mov word [edi + eax*2 + 0xc], cx
mov ecx, dword [0x948fd4]
jmp 0x69c95d
test cl, 1
jne 0x69c957
or ecx, 1
mov dword [0x948fd4], ecx
mov dword [ebp - 4], 0x66
jmp 0x69c927
test eax, eax
je 0x69c912
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp + 0x20], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x69c8f0
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x69c957
or ecx, 1
mov dword [0x948fd4], ecx
mov dword [ebp - 4], 0x67
jmp 0x69c927
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x20]
mov dword [edi + 4], ecx
xor ecx, ecx
mov dword [edi + 8], eax
mov word [edi + eax*2 + 0xc], cx
mov ecx, dword [0x948fd4]
jmp 0x69c95d
test cl, 1
jne 0x69c957
or ecx, 1
mov dword [0x948fd4], ecx
mov dword [ebp - 4], 0x68
push 0x10
call fcn.007965bb
mov ecx, 1
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [0x948fd8], eax
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov edi, dword [0x948fd8]
test cl, 1
jne 0x69c9a2
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x69
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
cmp edi, dword [0x948fd8]
je 0x69ca17
test cl, 1
jne 0x69c9ef
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x6b
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69ca0f
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69ca09
push esi
call fcn.0079605d
add esp, 4
mov ecx, dword [0x948fd4]
mov esi, edi
mov dword [ebp + 0x40], esi
mov dword [ebp + 0x44], esi
test cl, 1
jne 0x69ca5c
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov dword [ebp - 4], 0x6c
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
lea edi, [esi + 0xc]
cmp esi, dword [0x948fd8]
je 0x69ca82
push dword [ebp + 0x3c]
push edi
push 1
push 0x8a24c8
push 0
push 0
call dword [0x826190]
mov ecx, dword [0x948fd4]
mov dword [ebp - 4], 0x6d
test cl, 1
jne 0x69cacf
or ecx, 1
mov dword [0x948fd4], ecx
push 0x10
mov byte [ebp - 4], 0x6e
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov byte [ebp - 4], 0x6d
mov word [eax + 0xc], cx
mov ecx, dword [0x948fd4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
jne 0x69cadb
xor eax, eax
jmp 0x69cade
mov eax, dword [esi + 8]
lea eax, [edi + eax*2]
mov dword [ebp + 0x20], eax
cmp edi, eax
jae 0x69cb11
mov esi, eax
nop word [eax + eax]
mov edx, dword [ebx]
mov ecx, ebx
movzx eax, word [edi]
push eax
mov eax, dword [edx + 0x1c]
call eax
add edi, 2
test al, al
je 0x69cb08
cmp edi, esi
jb 0x69caf0
mov ecx, dword [0x948fd4]
mov esi, dword [ebp + 0x44]
mov dword [ebp - 4], 0x6f
test esi, esi
je 0x69cb6e
test cl, 1
jne 0x69cb54
or ecx, 1
push 0x10
mov dword [0x948fd4], ecx
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x69cb6e
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69cb6e
push esi
call fcn.0079605d
add esp, 4
push dword [ebp + 0x28]
mov ecx, dword [ebp + 0x2c]
mov edx, ebx
push dword [ebp + 0x14]
mov dword [ebp - 4], 0xffffffff
call fcn.0062f910
mov eax, dword [0x948fd4]
add esp, 8
test al, 1
jne 0x69cbd6
or eax, 1
mov dword [0x948fd4], eax
push 0x10
mov dword [ebp - 4], 0x70
call fcn.007965bb
mov esi, eax
add esp, 4
mov eax, 1
xchg dword [esi], eax
xor eax, eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov word [esi + 0xc], ax
mov dword [0x948fd8], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x69cbdc
mov esi, dword [0x948fd8]
push 0
push 0
push 1
push 0x883b78
push 0
push 3
mov dword [ebp + 0x44], esi
call dword [0x826190]
mov edi, eax
test edi, edi
jne 0x69cc65
test esi, esi
je 0x69cc5c
mov eax, dword [0x948fd4]
test al, 1
jne 0x69cc41
or eax, 1
mov dword [0x948fd4], eax
push 0x10
mov dword [ebp - 4], 0x71
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], edi
mov dword [eax + 4], edi
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x69cc46
mov eax, dword [0x948fd8]
cmp esi, eax
je 0x69cc5c
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x69cc5c
push esi
call fcn.0079605d
add esp, 4
call fcn.0042cf58
mov esi, eax
jmp 0x69ccae
cmp edi, dword [esi + 4]
ja 0x69cc7e
cmp dword [esi], 1
mov esi, dword [ebp + 0x44]
jg 0x69cc7e
xor eax, eax
mov dword [esi + 8], edi
mov word [esi + edi*2 + 0xc], ax
jmp 0x69ccb1
call fcn.0042cf58
mov ecx, edi
cmp esi, eax
jne 0x69cc90
call fcn.0042c7c9
jmp 0x69cc95
call fcn.0042c800
mov dword [ebp + 0x40], eax
call fcn.0042cf58
cmp dword [ebp + 0x40], eax
je 0x69ccb1
xor dl, dl
mov ecx, esi
call fcn.0042cfa5
mov esi, dword [ebp + 0x40]
mov dword [ebp + 0x44], esi
call fcn.0042cf58
cmp esi, eax
je 0x69ccd0
push edi
lea eax, [esi + 0xc]
push eax
push 1
push 0x883b78
push 0
push 0
call dword [0x826190]
lea ecx, [ebp + 0x44]
mov dword [ebp - 4], 0x72
lea edi, [esi + 0xc]
call fcn.005dee95
push eax
push edi
mov ecx, ebx
call fcn.0062fba0
xor dl, dl
mov dword [ebp - 4], 0x73
mov ecx, esi
call fcn.0042cfa5
jmp 0x69ac1a
mov edi, dword [ebp + 0x54]
mov ecx, ebx
add edi, 4
mov dword [ebp + 0x54], edi
push dword [edi - 4]
call fcn.005de1a7
mov edx, dword [ebp + 0x34]
jmp 0x69ac27
mov edi, dword [ebp + 0x54]
add edi, 4
mov dword [ebp + 0x54], edi
mov esi, dword [edi - 4]
movzx eax, word [esi]
test ax, ax
je 0x69ac24
mov ecx, eax
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
cmp cx, 0x20
ja 0x69cd44
push 0x20
jmp 0x69cd48
movzx eax, cx
push eax
mov ecx, ebx
call edx
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x69cd35
jmp 0x69ac21
mov edi, dword [ebp + 0x54]
add edi, 4
mov dword [ebp + 0x54], edi
push dword [edi - 4]
push 0x882f88
push ebx
call fcn.0062fc00
mov edx, dword [ebp + 0x34]
add esp, 0xc
jmp 0x69ac27
mov eax, dword [ebp + 0x54]
add eax, 4
mov dword [ebp + 0x54], eax
push dword [eax - 4]
push str._02x
push ebx
call fcn.0062fc00
mov edx, dword [ebp + 0x34]
add esp, 0xc
jmp case.0x69aac6.78
mov ecx, dword [ebp + 0x38]
inc esi
mov byte [edx], al
inc edx
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x34], edx
cmp esi, 0x64
jl 0x69ac2d
lea eax, [ebp - 0x74]
mov byte [edx], 0
push eax
mov ecx, ebx
call fcn.005de1a7
lea edx, [ebp - 0x74]
xor esi, esi
mov dword [ebp + 0x34], edx
mov dword [ebp + 0x30], esi
jmp case.0x69aac6.78