Function at 0x6c0020
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x81d0ff
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
mov ebx, ecx
mov dword [ebp - 0x18], 0
push esi
push edi
mov edi, edx
mov dword [ebp - 0x34], ebx
mov ecx, dword [ebx + 0x4a8]
mov dword [ebp - 0x20], edi
cmp ecx, 0xffffffff
je 0x6c0066
mov dword [ebx + 0x4a8], 0xffffffff
jmp 0x6c0071
xor dl, dl
mov ecx, ebx
call fcn.006d5290
mov ecx, eax
cmp ecx, 0x128
jg 0x6c0dbd
je 0x6c0da3
lea eax, [ecx - 0x28]
cmp eax, 0xf8
ja case.0x6c0dd3.298
movzx eax, byte [eax + 0x6c2040]
jmp dword [eax*4 + 0x6c2004]
push 0
push edi
mov edx, ebx
lea ecx, [ebp - 0x34]
call fcn.006c4bd0
add esp, 8
mov dword [ebp - 4], 1
mov esi, dword [ebp - 0x34]
jmp 0x6c0e1f
mov edx, edi
mov ecx, ebx
call fcn.006c5e30
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
mov edx, edi
mov ecx, ebx
call fcn.006bd2f0
add esp, 4
mov edx, 0x29
mov ecx, ebx
call fcn.006cd0e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x28
call fcn.00798224
add esp, 4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], 4
lea edx, [ebx + 0x39c]
mov eax, dword [0x94dbf4]
mov edi, 1
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x54], 0xffff
mov dword [ebp - 0x58], 5
test al, 1
jne 0x6c017c
or eax, edi
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 5
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
lea edx, [ebx + 0x39c]
mov word [esi + 0xc], ax
mov dword [0x94dbf8], esi
mov byte [ebp - 4], 4
jmp 0x6c0182
mov esi, dword [0x94dbf8]
mov dword [ebp - 0x14], esi
test edx, edx
je 0x6c019d
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x34], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x6c0191
sub ecx, dword [ebp - 0x34]
jmp 0x6c01a4
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x2c], edx
push 0
push 0
push ecx
push edx
push 0
push 3
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], ecx
call dword [0x82819c]
mov edx, eax
or eax, 0xffffffff
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x10], eax
test edx, edx
jne 0x6c0283
test esi, esi
je 0x6c0233
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6c021c
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 6
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 - 0x10]
cmp esi, dword [0x94dbf8]
je 0x6c0239
lock xadd dword [esi], eax
jne 0x6c0233
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6c0278
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 7
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 0x6c04dc
cmp edx, dword [esi + 4]
ja 0x6c02bd
cmp dword [esi], 1
mov esi, dword [ebp - 0x14]
jg 0x6c02b1
xor eax, eax
mov dword [esi + 8], edx
mov word [esi + edx*2 + 0xc], ax
mov eax, dword [ebp - 0x44]
mov ecx, dword [0x94dbf4]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], eax
jmp 0x6c04dc
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6c0309
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 8
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
xor ecx, ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x18]
mov word [eax + 0xc], cx
mov ecx, dword [0x94dbf4]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
jne 0x6c0386
test edx, edx
je 0x6c036e
lea eax, [edx*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp - 0x14], edx
test edx, edx
jne 0x6c034f
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6c0428
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 9
jmp 0x6c03fb
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp - 0x18]
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 0x6c0430
test cl, 1
jne 0x6c0428
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0xa
jmp 0x6c03fb
test edx, edx
je 0x6c03e9
lea eax, [edx + edx*2]
shr eax, 1
cmp eax, edx
cmovb eax, edx
mov dword [ebp - 0x34], eax
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp - 0x14], edx
test edx, edx
jne 0x6c03ca
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6c0428
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0xb
jmp 0x6c03fb
mov eax, edi
xchg dword [edx], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
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 0x6c0430
test cl, 1
jne 0x6c0428
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0xc
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 - 0x14], eax
test cl, 1
jne 0x6c046f
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0xd
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 - 0x14]
cmp eax, dword [0x94dbf8]
je 0x6c04dc
test cl, 1
jne 0x6c04b9
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0xf
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 0x6c04d9
mov eax, dword [ebp - 0x10]
lock xadd dword [esi], eax
jne 0x6c04d3
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
mov esi, dword [ebp - 0x14]
test cl, 1
jne 0x6c0515
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 dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6c0534
push dword [ebp - 0x18]
lea eax, [esi + 0xc]
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push 0
push 0
call dword [0x82819c]
lock inc dword [esi]
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov dword [ebp - 0x50], esi
mov byte [ebp - 4], 0x11
test esi, esi
je 0x6c059e
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6c0582
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 0x6c0587
mov eax, dword [0x94dbf8]
cmp esi, eax
je 0x6c059e
mov eax, dword [ebp - 0x10]
lock xadd dword [esi], eax
dec eax
jne 0x6c059e
push esi
call fcn.007984d6
add esp, 4
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x3c]
push eax
push ebx
mov dword [ebp - 0x18], 1
call fcn.006ae7b0
mov esi, eax
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 4], 0x13
mov ecx, dword [ebx]
cmp ecx, esi
je 0x6c05de
test ecx, ecx
je 0x6c05d1
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebx], esi
test esi, esi
je 0x6c05de
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0x14
call fcn.0042b9f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor esi, esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 0x15
nop word [eax + eax]
mov ecx, dword [ebx + 0x49c]
test ecx, ecx
je 0x6c062c
mov eax, dword [ecx + 4]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x6c062c
add ecx, 0xc
mov dword [ebp - 0x18], ecx
jmp 0x6c0634
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test esi, esi
je 0x6c063d
mov edi, dword [esi + 4]
jmp 0x6c063f
xor edi, edi
add eax, edi
lea ecx, [ebp - 0x2c]
push eax
call fcn.0042d2f2
mov esi, dword [ebp - 0x2c]
test esi, esi
je 0x6c0659
mov edx, dword [esi + 4]
lea eax, [esi + 0xc]
jmp 0x6c065d
xor edx, edx
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x24], eax
test eax, eax
cmovne ecx, edx
mov edx, dword [ebp - 0x18]
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp - 0x14]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x24]
cmp edi, ecx
jge 0x6c0691
lea eax, [eax + edi*2]
sub ecx, edi
mov dword [ebp - 0x48], eax
neg eax
sbb eax, eax
and eax, ecx
mov dword [ebp - 0x44], eax
jmp 0x6c069e
lea eax, [eax + ecx*2]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x48]
call fcn.0042cb94
mov eax, dword [ebx + 0x4a8]
cmp eax, 0xffffffff
je 0x6c06c1
mov dword [ebx + 0x4a8], 0xffffffff
jmp 0x6c06ca
xor dl, dl
mov ecx, ebx
call fcn.006d5290
cmp eax, 0x100
je 0x6c0610
push 0x28
mov dword [ebx + 0x4a8], eax
call fcn.00798224
add esp, 4
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0x16
test esi, esi
je 0x6c06ff
mov ecx, dword [esi + 4]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x6c06ff
lea eax, [esi + 0xc]
jmp 0x6c0706
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x48], eax
mov eax, dword [0x94dbf4]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 5
test al, 1
jne 0x6c076a
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 0x17
call fcn.00403650
add esp, 4
mov edx, eax
mov ecx, 1
xchg dword [edx], ecx
xor eax, eax
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x14]
mov word [edx + 0xc], ax
mov eax, dword [0x94dbf4]
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov dword [0x94dbf8], edx
jmp 0x6c0770
mov edx, dword [0x94dbf8]
mov dword [ebp - 0x10], 0xffffffff
mov edi, edx
mov dword [ebp - 0x24], edi
test ecx, ecx
jne 0x6c082e
test edi, edi
je 0x6c07ea
test al, 1
jne 0x6c0827
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 0x18
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
xor eax, eax
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
cmp edi, edx
je 0x6c07e5
mov eax, dword [ebp - 0x10]
lock xadd dword [edi], eax
jne 0x6c07df
push edi
call fcn.007984d6
add esp, 4
mov edx, dword [0x94dbf8]
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6c0827
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 0x19
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
xor eax, eax
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
mov edi, edx
jmp 0x6c0b21
cmp ecx, dword [edx + 4]
ja 0x6c085f
cmp dword [edx], 1
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
jg 0x6c0859
mov dword [edi + 8], eax
xor ecx, ecx
mov word [edi + eax*2 + 0xc], cx
mov edx, dword [0x94dbf8]
jmp 0x6c0aa8
mov edx, dword [0x94dbf8]
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6c08aa
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 0x1a
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
xor eax, eax
mov byte [ebp - 4], 0x16
mov word [edx + 0xc], ax
mov eax, dword [0x94dbf4]
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov dword [0x94dbf8], edx
mov ecx, dword [ebp - 0x14]
cmp edi, edx
jne 0x6c095a
test ecx, ecx
je 0x6c0944
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov edx, eax
add esp, 4
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x6c0922
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6c0917
or eax, 1
mov dword [0x94dbf4], eax
mov byte [ebp - 4], 0x1b
push 0x10
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
mov dword [edx + 8], 0
xor eax, eax
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
jmp 0x6c09f3
mov edx, dword [0x94dbf8]
jmp 0x6c09f9
mov eax, 1
xchg dword [edx], eax
mov ecx, dword [ebp - 0x14]
xor eax, eax
mov dword [edx + 8], ecx
mov dword [edx + 4], ecx
mov word [edx + ecx*2 + 0xc], ax
mov edx, dword [0x94dbf8]
jmp 0x6c09fc
test al, 1
jne 0x6c09f9
or eax, 1
mov dword [0x94dbf4], eax
mov byte [ebp - 4], 0x1c
jmp 0x6c09d0
test ecx, ecx
je 0x6c09c0
lea eax, [ecx + ecx*2]
shr eax, 1
cmp eax, ecx
cmovb eax, ecx
mov dword [ebp - 0x3c], eax
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov ecx, eax
add esp, 4
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x6c099e
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6c0917
or eax, 1
mov dword [0x94dbf4], eax
mov byte [ebp - 4], 0x1d
jmp 0x6c08eb
mov eax, 1
xchg dword [ecx], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x3c]
mov dword [ecx + 4], edx
xor edx, edx
mov dword [ecx + 8], eax
mov word [ecx + eax*2 + 0xc], dx
mov edx, dword [0x94dbf8]
jmp 0x6c09fc
test al, 1
jne 0x6c09f9
or eax, 1
mov dword [0x94dbf4], eax
mov byte [ebp - 4], 0x1e
push 0x10
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
xor eax, eax
mov dword [edx + 8], 0
mov word [edx + 0xc], ax
mov dword [edx + 4], eax
mov dword [0x94dbf8], edx
mov dword [ebp - 0x18], edx
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6c0a43
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 0x1f
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
xor eax, eax
mov dword [edx + 8], 0
mov word [edx + 0xc], ax
mov eax, dword [0x94dbf4]
mov dword [edx + 4], 0
mov dword [0x94dbf8], edx
cmp dword [ebp - 0x18], edx
je 0x6c0b21
test al, 1
jne 0x6c0a89
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 0x21
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
xor eax, eax
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
cmp edi, edx
je 0x6c0aa5
mov eax, dword [ebp - 0x10]
lock xadd dword [edi], eax
jne 0x6c0a9f
push edi
call fcn.007984d6
add esp, 4
mov edx, dword [0x94dbf8]
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
sub esp, 8
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6c0afa
or eax, 1
mov dword [0x94dbf4], eax
push 0x10
mov byte [ebp - 4], 0x22
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
xor eax, eax
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
cmp edi, edx
jne 0x6c0b02
xor edx, edx
jmp 0x6c0b05
mov edx, dword [edi + 8]
lea eax, [edi + 0xc]
xor ecx, ecx
test eax, eax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x28]
cmovne ecx, edx
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x48]
push eax
call fcn.0042cb94
lock inc dword [edi]
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov dword [ebp - 0x50], edi
mov byte [ebp - 4], 0x23
test edi, edi
je 0x6c0b93
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6c0b77
or eax, 1
push 0x10
mov dword [0x94dbf4], eax
call fcn.00403650
mov ecx, eax
add esp, 4
mov eax, 1
xchg dword [ecx], eax
xor eax, eax
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov word [ecx + 0xc], ax
mov dword [0x94dbf8], ecx
jmp 0x6c0b7d
mov ecx, dword [0x94dbf8]
cmp edi, ecx
je 0x6c0b93
mov eax, dword [ebp - 0x10]
lock xadd dword [edi], eax
jne 0x6c0b93
push edi
call fcn.007984d6
add esp, 4
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x34]
push eax
push ebx
mov dword [ebp - 0x18], 2
call fcn.006ae7b0
mov edi, eax
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 4], 0x25
mov ecx, dword [ebx]
cmp ecx, edi
je 0x6c0bd3
test ecx, ecx
je 0x6c0bc6
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebx], edi
test edi, edi
je 0x6c0bd3
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0x26
call fcn.0042b9f0
test esi, esi
je 0x6c0c00
mov eax, dword [ebp - 0x10]
lock xadd dword [esi], eax
dec eax
jne 0x6c0c00
push esi
mov dword [esi + 4], 0
call fcn.007a2dd1
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x18
call fcn.00798224
mov esi, eax
add esp, 4
mov dword [ebp - 0x44], esi
mov dword [esi], 0x876ed0
mov dword [esi + 4], 0
mov dword [esi], 0x8a803c
mov ecx, dword [ebx + 0x4a4]
mov dword [esi + 8], ecx
mov ecx, dword [ebx + 0x4b0]
lea eax, [ecx + 0xc]
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [ebx + 0x4b4]
sub eax, ecx
sar eax, 1
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x4b8]
mov dword [esi + 0x10], eax
mov dword [esi], 0x8a7b2c
mov byte [esi + 0x14], 5
mov ecx, dword [edi]
cmp ecx, esi
je 0x6c0c00
test ecx, ecx
je 0x6c0c7a
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [edi], esi
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 0x39c], 0x40
lea edx, [ebx + 0x39c]
jne 0x6c0cc1
mov dword [ebx + 0x4a8], ecx
mov ecx, ebx
call fcn.006b78f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
mov ecx, ebx
call fcn.006cd2d0
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x4a8], ecx
mov edx, ebx
push 0
push edi
lea ecx, [ebp - 0x3c]
call fcn.006c4bd0
add esp, 8
mov dword [ebp - 4], 0x33
jmp 0x6c0e1c
mov dword [ebx + 0x4a8], ecx
mov edx, ebx
push 0
push edi
lea ecx, [ebp - 0x3c]
call fcn.006c4bd0
add esp, 8
mov dword [ebp - 4], 0x34
jmp 0x6c0e1c
push 0
push edi
mov edx, ebx
mov dword [ebx + 0x4a8], 0x7c
lea ecx, [ebp - 0x3c]
mov dword [ebx + 0x4ac], 0x7c
call fcn.006c4bd0
add esp, 8
mov dword [ebp - 4], 0x35
jmp 0x6c0e1c
mov edx, edi
mov ecx, ebx
call fcn.006c64f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, edi
mov ecx, ebx
call fcn.006c8bb0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
mov edx, edi
mov ecx, ebx
call fcn.006c6cb0
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, edi
mov ecx, ebx
call fcn.006c9c20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ecx, 0xfffffed7
cmp ecx, 0x2e
ja case.0x6c0dd3.298
movzx eax, byte [ecx + 0x6c2170]
jmp dword [eax*4 + 0x6c213c]
mov eax, dword [ebx + 0x4a8]
cmp eax, 0xffffffff
je 0x6c0df1
mov dword [ebx + 0x4a8], 0xffffffff
jmp 0x6c0dfa
xor dl, dl
mov ecx, ebx
call fcn.006d5290
cmp eax, 0x105
jne 0x6c1fe0
push 1
push edi
mov edx, ebx
lea ecx, [ebp - 0x3c]
call fcn.006c4bd0
add esp, 8
mov dword [ebp - 4], 0
mov esi, dword [ebp - 0x3c]
test esi, esi
je 0x6c0c00
mov eax, dword [0x94dbfc]
test al, 1
jne 0x6c0e62
or eax, 1
push 0x10
mov dword [0x94dbfc], eax
call fcn.00403650
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov byte [eax + 0xc], 0
mov dword [0x94dc00], eax
jmp 0x6c0e67
mov eax, dword [0x94dc00]
cmp esi, eax
je 0x6c0c00
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6c0c00
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, edi
mov ecx, ebx
call fcn.006c5240
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 3
push edi
mov edx, ebx
lea ecx, [ebp - 0x3c]
call fcn.006c4bd0
add esp, 8
mov dword [ebp - 4], 2
jmp 0x6c0e1c
push 0x28
call fcn.00798224
add esp, 4
mov dword [ebp - 0x44], eax
lea ecx, [ebx + 0x38c]
mov dword [ebp - 4], 3
push ecx
push ebx
mov ecx, eax
call fcn.006ae7b0
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [edi]
cmp ecx, esi
je 0x6c0c00
test ecx, ecx
je 0x6c0f0b
mov edx, dword [ecx]
call dword [edx + 4]
mov dword [edi], esi
test esi, esi
je 0x6c0c00
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x4a8]
cmp eax, 0xffffffff
je 0x6c0f44
mov dword [ebx + 0x4a8], 0xffffffff
jmp 0x6c0f4d
xor dl, dl
mov ecx, ebx
call fcn.006d5290
cmp eax, 0x105
jne 0x6c0fdf
push 0x18
call fcn.00798224
mov esi, eax
add esp, 4
mov dword [ebp - 0x44], esi
mov dword [esi], 0x876ed0
mov dword [esi + 4], 0
mov dword [esi], 0x8a803c
mov ecx, dword [ebx + 0x4a4]
mov dword [esi + 8], ecx
mov ecx, dword [ebx + 0x4b0]
lea eax, [ecx + 0xc]
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [ebx + 0x4b4]
sub eax, ecx
sar eax, 1
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x4b8]
mov dword [esi + 0x10], eax
mov dword [esi], 0x8a7b2c
mov byte [esi + 0x14], 0x51
mov ecx, dword [edi]
cmp ecx, esi
je 0x6c0c00
test ecx, ecx
je 0x6c0fc5
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [edi], esi
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x128
jne 0x6c1186
mov esi, 1
nop
mov eax, dword [ebx + 0x4a8]
cmp eax, 0xffffffff
je 0x6c1007
mov dword [ebx + 0x4a8], 0xffffffff
jmp 0x6c1010
xor dl, dl
mov ecx, ebx
call fcn.006d5290
cmp eax, 0x128
jne 0x6c101a
inc esi
jmp 0x6c0ff0
mov dword [ebx + 0x4a8], eax
lea edx, [ebp - 0x34]
lea eax, [ebp - 0x3c]
mov ecx, ebx
push esi
push eax
call fcn.006ccec0
add esp, 8
test al, al
je 0x6c1fec
push 0x20
call fcn.00798224
add esp, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0x27
mov edi, 1
mov ecx, dword [0x94dbfc]
test cl, 1
jne 0x6c1095
or ecx, edi
mov dword [0x94dbfc], ecx
push 0x10
mov byte [ebp - 4], 0x28
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov byte [eax + 0xc], 0
mov dword [0x94dc00], eax
mov byte [ebp - 4], 0x27
jmp 0x6c109a
mov eax, dword [0x94dc00]
push 0
push 4
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
call fcn.0042cda4
mov esi, dword [ebp - 0x2c]
test al, al
je 0x6c112e
mov eax, dword [0x94dbfc]
test al, 1
jne 0x6c10f0
or eax, 1
mov dword [0x94dbfc], eax
push 0x10
mov byte [ebp - 4], 0x29
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov byte [eax + 0xc], 0
mov dword [0x94dc00], eax
jmp 0x6c10f5
mov eax, dword [0x94dc00]
cmp esi, eax
jne 0x6c10fd
xor edx, edx
jmp 0x6c1100
mov edx, dword [esi + 8]
lea eax, [esi + 0xc]
xor ecx, ecx
test eax, eax
mov dword [ebp - 0x48], eax
cmovne ecx, edx
sub esp, 8
mov eax, esp
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x48]
mov dword [eax], str.this
mov dword [eax + 4], 4
lea eax, [ebp - 0x1c]
push eax
call fcn.0042cf0d
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x2c]
push dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
push dword [ebp - 0x34]
mov dword [ebp - 0x18], 4
push eax
push ebx
call fcn.006aece0
mov ecx, eax
mov dword [ebp - 0x3c], ecx
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 4], 0x2b
mov edx, dword [ebx]
cmp edx, ecx
je 0x6c117a
test edx, edx
je 0x6c116f
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x3c]
mov dword [ebx], ecx
test ecx, ecx
je 0x6c117a
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 4], 0x2c
jmp 0x6c12ee
mov dword [ebx + 0x4a8], eax
lea edx, [ebp - 0x34]
lea eax, [ebp - 0x3c]
mov ecx, ebx
push 0
push eax
call fcn.006ccec0
add esp, 8
test al, al
je 0x6c1ff8
push 0x20
call fcn.00798224
add esp, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0x2d
mov edi, 1
mov ecx, dword [0x94dbfc]
test cl, 1
jne 0x6c1202
or ecx, edi
mov dword [0x94dbfc], ecx
push 0x10
mov byte [ebp - 4], 0x2e
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov byte [eax + 0xc], 0
mov dword [0x94dc00], eax
mov byte [ebp - 4], 0x2d
jmp 0x6c1207
mov eax, dword [0x94dc00]
push 0
push 4
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
call fcn.0042cda4
mov esi, dword [ebp - 0x2c]
test al, al
je 0x6c129b
mov eax, dword [0x94dbfc]
test al, 1
jne 0x6c125d
or eax, 1
mov dword [0x94dbfc], eax
push 0x10
mov byte [ebp - 4], 0x2f
call fcn.00403650
add esp, 4
mov ecx, edi
xchg dword [eax], ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov byte [eax + 0xc], 0
mov dword [0x94dc00], eax
jmp 0x6c1262
mov eax, dword [0x94dc00]
cmp esi, eax
jne 0x6c126a
xor edx, edx
jmp 0x6c126d
mov edx, dword [esi + 8]
lea eax, [esi + 0xc]
xor ecx, ecx
test eax, eax
mov dword [ebp - 0x48], eax
cmovne ecx, edx
sub esp, 8
mov eax, esp
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x48]
mov dword [eax], str.this
mov dword [eax + 4], 4
lea eax, [ebp - 0x1c]
push eax
call fcn.0042cf0d
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x2c]
push dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
push dword [ebp - 0x34]
mov dword [ebp - 0x18], 8
push eax
push ebx
call fcn.006aece0
mov ecx, eax
mov dword [ebp - 0x3c], ecx
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 4], 0x31
mov edx, dword [ebx]
cmp edx, ecx
je 0x6c12e7
test edx, edx
je 0x6c12dc
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x3c]
mov dword [ebx], ecx
test ecx, ecx
je 0x6c12e7
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 4], 0x32
test esi, esi
je 0x6c0c00
mov eax, dword [0x94dbfc]
test al, 1
jne 0x6c0e62
or eax, 1
push 0x10
mov dword [0x94dbfc], eax
call fcn.00403650
add esp, 4
xchg dword [eax], edi
jmp 0x6c0e49
mov edx, edi
mov ecx, ebx
call fcn.006ca430
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x28
call fcn.00798224
add esp, 4
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0x36
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
call dword [edx + 0x40]
mov ecx, dword [0x94dbf4]
mov edi, 1
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 5
test cl, 1
jne 0x6c13b8
or ecx, edi
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x37
call fcn.00403650
add esp, 4
mov edx, eax
mov ecx, edi
xchg dword [edx], ecx
xor eax, eax
mov byte [ebp - 4], 0x36
mov ecx, dword [0x94dbf4]
mov word [edx + 0xc], ax
mov eax, dword [ebp - 0x2c]
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov dword [0x94dbf8], edx
jmp 0x6c13be
mov edx, dword [0x94dbf8]
mov dword [ebp - 0x10], 0xffffffff
mov esi, edx
mov dword [ebp - 0x18], esi
test eax, eax
je 0x6c1789
mov ebx, dword [ebp - 0x2c]
cmp word [ebx], 0
mov ebx, dword [ebp - 0x34]
je 0x6c13e9
nop
add eax, 2
cmp word [eax], 0
jne 0x6c13e0
sub eax, dword [ebp - 0x2c]
sar eax, 1
mov dword [ebp - 0x24], eax
jne 0x6c14a2
mov esi, edx
test esi, esi
je 0x6c145f
test cl, 1
jne 0x6c149b
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x38
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, edi
xchg dword [edx], eax
xor eax, eax
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
cmp esi, edx
je 0x6c1459
mov eax, dword [ebp - 0x10]
lock xadd dword [esi], eax
jne 0x6c1453
push esi
call fcn.007984d6
add esp, 4
mov edx, dword [0x94dbf8]
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6c149b
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x39
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, edi
xchg dword [edx], eax
xor eax, eax
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
mov esi, edx
jmp 0x6c1789
cmp eax, dword [edx + 4]
ja 0x6c14d6
cmp dword [edx], 1
mov esi, dword [ebp - 0x18]
jg 0x6c14ca
mov dword [esi + 8], eax
xor ecx, ecx
mov word [esi + eax*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
mov edx, dword [0x94dbf8]
jmp 0x6c1716
mov ecx, dword [0x94dbf4]
mov edx, dword [0x94dbf8]
test cl, 1
jne 0x6c151f
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x3a
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, edi
xchg dword [edx], eax
xor eax, eax
mov byte [ebp - 4], 0x36
mov ecx, dword [0x94dbf4]
mov word [edx + 0xc], ax
mov eax, dword [ebp - 0x24]
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov dword [0x94dbf8], edx
cmp esi, edx
jne 0x6c15b7
test eax, eax
je 0x6c159c
lea eax, [eax*2 + 0x10]
push eax
call fcn.00403650
mov ecx, eax
add esp, 4
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x6c1590
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6c1585
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x3b
push 0x10
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, edi
xchg dword [edx], eax
mov dword [edx + 8], 0
xor eax, eax
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
jmp 0x6c1655
mov edx, dword [0x94dbf8]
jmp 0x6c1661
mov eax, edi
xchg dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov dword [ecx + 4], eax
jmp 0x6c160b
test cl, 1
jne 0x6c1661
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x3c
jmp 0x6c1635
test eax, eax
je 0x6c1623
lea ecx, [eax + eax*2]
shr ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp - 0x3c], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov ecx, eax
add esp, 4
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x6c15fe
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6c1585
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x3d
jmp 0x6c155c
mov eax, edi
xchg dword [ecx], eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
mov dword [ecx + 4], edx
xor edx, edx
mov dword [ecx + 8], eax
mov word [ecx + eax*2 + 0xc], dx
mov ecx, dword [0x94dbf4]
mov edx, dword [0x94dbf8]
jmp 0x6c1664
test cl, 1
jne 0x6c1661
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x3e
push 0x10
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, edi
xchg dword [edx], eax
xor eax, eax
mov dword [edx + 8], 0
mov word [edx + 0xc], ax
mov dword [edx + 4], eax
mov ecx, dword [0x94dbf4]
mov dword [0x94dbf8], edx
mov dword [ebp - 0x18], edx
test cl, 1
jne 0x6c16a6
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x3f
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, edi
xchg dword [edx], eax
mov ecx, dword [0x94dbf4]
xor eax, eax
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
cmp dword [ebp - 0x18], edx
je 0x6c1789
test cl, 1
jne 0x6c16f1
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x41
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, edi
xchg dword [edx], eax
mov ecx, dword [0x94dbf4]
xor eax, eax
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
cmp esi, edx
je 0x6c1713
mov eax, dword [ebp - 0x10]
lock xadd dword [esi], eax
jne 0x6c1707
push esi
call fcn.007984d6
add esp, 4
mov edx, dword [0x94dbf8]
mov ecx, dword [0x94dbf4]
mov esi, dword [ebp - 0x18]
test cl, 1
jne 0x6c1752
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x42
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, edi
xchg dword [edx], eax
xor eax, eax
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
cmp esi, edx
jne 0x6c175a
xor edx, edx
jmp 0x6c175d
mov edx, dword [esi + 8]
xor ecx, ecx
lea eax, [esi + 0xc]
test eax, eax
mov dword [ebp - 0x48], eax
cmovne ecx, edx
sub esp, 8
mov eax, esp
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x24]
mov dword [eax + 4], ecx
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x48]
call fcn.0042cb94
lock inc dword [esi]
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov dword [ebp - 0x50], esi
mov byte [ebp - 4], 0x43
test esi, esi
je 0x6c17f3
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6c17d7
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 0x6c17dc
mov eax, dword [0x94dbf8]
cmp esi, eax
je 0x6c17f3
mov eax, dword [ebp - 0x10]
lock xadd dword [esi], eax
dec eax
jne 0x6c17f3
push esi
call fcn.007984d6
add esp, 4
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x44
mov ecx, dword [ebp - 0x14]
push eax
push ebx
mov dword [ebp - 0x18], 0x10
call fcn.006ae7b0
mov esi, eax
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 4], 0x45
mov ecx, dword [ebx]
cmp ecx, esi
je 0x6c1833
test ecx, ecx
je 0x6c1826
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebx], esi
test esi, esi
je 0x6c1833
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0x46
call fcn.0042b9f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
call dword [eax + 0x40]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x6c187f
cmp word [eax], 0
mov ecx, eax
je 0x6c1879
nop word [eax + eax]
add ecx, 2
cmp word [ecx], 0
jne 0x6c1870
sub ecx, eax
sar ecx, 1
jmp 0x6c1886
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x24], eax
mov edi, ecx
test ecx, ecx
je 0x6c18a2
nop dword [eax]
dec edi
cmp word [eax + edi*2], 0x2f
je 0x6c189e
test edi, edi
jne 0x6c1890
jmp 0x6c18a2
test edi, edi
jns 0x6c18a6
mov edi, ecx
test edi, edi
je 0x6c18a9
inc edi
push 0x28
call fcn.00798224
add esp, 4
mov dword [ebp - 0x44], eax
mov dword [ebp - 4], 0x47
mov ecx, dword [0x94dbf4]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 5
test cl, 1
jne 0x6c191c
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x48
call fcn.00403650
add esp, 4
mov edx, eax
mov ecx, 1
xchg dword [edx], ecx
xor eax, eax
mov byte [ebp - 4], 0x47
mov ecx, dword [0x94dbf4]
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
jmp 0x6c1922
mov edx, dword [0x94dbf8]
mov dword [ebp - 0x10], 0xffffffff
mov esi, edx
mov dword [ebp - 0x2c], esi
test edi, edi
jne 0x6c19dd
test esi, esi
je 0x6c1997
test cl, 1
jne 0x6c19d6
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x49
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
xor eax, eax
mov dword [edx + 8], edi
mov dword [edx + 4], edi
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
cmp esi, edx
je 0x6c1991
mov eax, dword [ebp - 0x10]
lock xadd dword [esi], eax
jne 0x6c198b
push esi
call fcn.007984d6
add esp, 4
mov edx, dword [0x94dbf8]
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6c19d6
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x4a
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
xor eax, eax
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
mov esi, edx
jmp 0x6c1cdb
cmp edi, dword [edx + 4]
ja 0x6c1a11
cmp dword [edx], 1
mov esi, dword [ebp - 0x2c]
jg 0x6c1a05
mov dword [esi + 8], edi
xor eax, eax
mov word [esi + edi*2 + 0xc], ax
mov ecx, dword [0x94dbf4]
mov edx, dword [0x94dbf8]
jmp 0x6c1c65
mov ecx, dword [0x94dbf4]
mov edx, dword [0x94dbf8]
test cl, 1
jne 0x6c1a5a
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x4b
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
xor eax, eax
mov byte [ebp - 4], 0x47
mov ecx, dword [0x94dbf4]
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
cmp esi, edx
jne 0x6c1af8
test edi, edi
je 0x6c1add
lea eax, [edi*2 + 0x10]
push eax
call fcn.00403650
mov ecx, eax
add esp, 4
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x6c1ace
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6c1ac3
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x4c
push 0x10
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
mov dword [edx + 8], 0
xor eax, eax
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
jmp 0x6c1b9e
mov edx, dword [0x94dbf8]
jmp 0x6c1baa
mov eax, 1
xchg dword [ecx], eax
mov eax, dword [ebp - 0x14]
mov dword [eax + 4], edi
jmp 0x6c1b51
test cl, 1
jne 0x6c1baa
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x4d
jmp 0x6c1b7b
test edi, edi
je 0x6c1b69
lea eax, [edi + edi*2]
mov ecx, edi
shr eax, 1
cmp eax, edi
cmovae ecx, eax
mov dword [ebp - 0x3c], ecx
lea eax, [ecx*2 + 0x10]
push eax
call fcn.00403650
mov ecx, eax
add esp, 4
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x6c1b41
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6c1ac3
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x4e
jmp 0x6c1a97
mov eax, 1
xchg dword [ecx], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 4], ecx
mov edx, dword [0x94dbf8]
xor ecx, ecx
mov dword [eax + 8], edi
mov word [eax + edi*2 + 0xc], cx
mov ecx, dword [0x94dbf4]
jmp 0x6c1bad
test cl, 1
jne 0x6c1baa
or ecx, 1
mov dword [0x94dbf4], ecx
mov byte [ebp - 4], 0x4f
push 0x10
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
xor eax, eax
mov dword [edx + 8], 0
mov word [edx + 0xc], ax
mov dword [edx + 4], eax
mov ecx, dword [0x94dbf4]
mov dword [0x94dbf8], edx
mov dword [ebp - 0x14], edx
test cl, 1
jne 0x6c1bf2
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x50
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
mov ecx, dword [0x94dbf4]
xor eax, eax
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
cmp dword [ebp - 0x14], edx
je 0x6c1cdb
test cl, 1
jne 0x6c1c40
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x52
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
mov ecx, dword [0x94dbf4]
xor eax, eax
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
cmp esi, edx
je 0x6c1c62
mov eax, dword [ebp - 0x10]
lock xadd dword [esi], eax
jne 0x6c1c56
push esi
call fcn.007984d6
add esp, 4
mov edx, dword [0x94dbf8]
mov ecx, dword [0x94dbf4]
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x24]
sub esp, 8
mov eax, esp
mov dword [eax], ebx
mov ebx, dword [ebp - 0x34]
mov dword [eax + 4], edi
test cl, 1
jne 0x6c1cb4
or ecx, 1
mov dword [0x94dbf4], ecx
push 0x10
mov byte [ebp - 4], 0x53
call fcn.00403650
mov edx, eax
add esp, 4
mov eax, 1
xchg dword [edx], eax
xor eax, eax
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov word [edx + 0xc], ax
mov dword [0x94dbf8], edx
cmp esi, edx
jne 0x6c1cbc
xor edx, edx
jmp 0x6c1cbf
mov edx, dword [esi + 8]
lea eax, [esi + 0xc]
xor ecx, ecx
test eax, eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x30]
cmovne ecx, edx
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x38]
push eax
call fcn.0042cb94
lock inc dword [esi]
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov dword [ebp - 0x50], esi
mov byte [ebp - 4], 0x54
test esi, esi
je 0x6c1d4e
mov eax, dword [0x94dbf4]
test al, 1
jne 0x6c1d31
or eax, 1
push 0x10
mov dword [0x94dbf4], eax
call fcn.00403650
mov ecx, eax
add esp, 4
mov eax, 1
xchg dword [ecx], eax
xor eax, eax
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov word [ecx + 0xc], ax
mov dword [0x94dbf8], ecx
jmp 0x6c1d37
mov ecx, dword [0x94dbf8]
cmp esi, ecx
je 0x6c1d4e
mov eax, dword [ebp - 0x10]
lock xadd dword [esi], eax
dec eax
jne 0x6c1d4e
push esi
call fcn.007984d6
add esp, 4
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x55
mov ecx, dword [ebp - 0x44]
push eax
push ebx
mov dword [ebp - 0x18], 0x20
call fcn.006ae7b0
mov esi, eax
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 4], 0x56
mov ecx, dword [ebx]
cmp ecx, esi
je 0x6c1d8e
test ecx, ecx
je 0x6c1d81
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebx], esi
test esi, esi
je 0x6c1d8e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0x57
call fcn.0042b9f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x28
call fcn.00798224
mov ecx, eax
add esp, 4
mov dword [ebp - 0x44], ecx
mov dword [ebp - 4], 0x58
mov eax, dword [ebx + 0x4a4]
cdq
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 3
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x59
push eax
push ebx
mov dword [ebp - 0x18], 0x40
call fcn.006ae7b0
mov esi, eax
mov dword [ebp - 4], 0x5a
mov ecx, dword [edi]
cmp ecx, esi
je 0x6c1e19
test ecx, ecx
je 0x6c1e0c
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [edi], esi
test esi, esi
je 0x6c1e19
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0x5b
call fcn.0042b9f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x18
call fcn.00798224
mov esi, eax
add esp, 4
mov dword [ebp - 0x44], esi
mov dword [esi], 0x876ed0
mov dword [esi + 4], 0
mov dword [esi], 0x8a803c
mov ecx, dword [ebx + 0x4a4]
mov dword [esi + 8], ecx
mov ecx, dword [ebx + 0x4b0]
lea eax, [ecx + 0xc]
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [ebx + 0x4b4]
sub eax, ecx
sar eax, 1
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x4b8]
mov dword [esi + 0x10], eax
mov dword [esi], 0x8a7b2c
mov byte [esi + 0x14], 0x70
mov ecx, dword [edi]
cmp ecx, esi
je 0x6c0c00
test ecx, ecx
je 0x6c1ea6
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [edi], esi
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, ebx
call fcn.006b6a80
push 0x14
call fcn.00798224
mov esi, eax
add esp, 4
mov dword [ebp - 0x44], esi
mov dword [esi], 0x876ed0
mov dword [esi + 4], 0
mov dword [esi], 0x8a803c
mov ecx, dword [ebx + 0x4a4]
mov dword [esi + 8], ecx
mov ecx, dword [ebx + 0x4b0]
lea eax, [ecx + 0xc]
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [ebx + 0x4b4]
sub eax, ecx
sar eax, 1
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x4b8]
mov dword [esi + 0x10], eax
mov dword [esi], 0x8a80a8
mov ecx, dword [edi]
cmp ecx, esi
je 0x6c0c00
test ecx, ecx
je 0x6c1f30
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [edi], esi
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, ebx
call fcn.006b6b80
push 0x14
call fcn.00798224
mov esi, eax
add esp, 4
mov dword [ebp - 0x44], esi
mov dword [esi], 0x876ed0
mov dword [esi + 4], 0
mov dword [esi], 0x8a803c
mov ecx, dword [ebx + 0x4a4]
mov dword [esi + 8], ecx
mov ecx, dword [ebx + 0x4b0]
lea eax, [ecx + 0xc]
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [ebx + 0x4b4]
sub eax, ecx
sar eax, 1
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x4b8]
mov dword [esi + 0x10], eax
mov dword [esi], 0x8a80a8
mov ecx, dword [edi]
cmp ecx, esi
je 0x6c0c00
test ecx, ecx
je 0x6c1fba
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [edi], esi
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, str.Expecting_a_primary_expression
mov ecx, ebx
call fcn.006d6f40
mov edx, str._Expecting_function___declaration_of_async_function
mov ecx, ebx
call fcn.006d6f40
mov edx, str.no_this_at_this_level
mov ecx, ebx
call fcn.006d6f40
mov edx, str._this_is_available_only_inside_function_body
mov ecx, ebx
call fcn.006d6f40
fadd dword [eax]
insb byte es:[edi], dx
add byte [ebp - 0x22ff93f3], al
or al, 0x6c
add byte [ecx + 0xd], dl
insb byte es:[edi], dx
add byte [esi + 0x6b006c00], bh
or eax, 0xcff006c
insb byte es:[edi], dx
add dh, bh
add eax, 0xc94006c
insb byte es:[edi], dx
add ah, cl
push cs
insb byte es:[edi], dx
add byte [edx], al
add dword [eax + eax - 0x61], ebp
add byte [eax + eax + 0x11], ch
or al, 0x6c
add byte [ecx], ah
or eax, 0x1fd4006c
insb byte es:[edi], dx
add byte [eax], al
push cs
push cs
push cs
push cs
push cs
push cs
add dword [esi], ecx
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
add cl, byte [esi]
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
add eax, dword [esi + ecx]
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
add eax, 235802118
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
pop es
or byte [ecx], cl
or dword [edx], ecx
or ecx, dword [esi]
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
push cs
or al, 14
push cs
push cs
push cs
push cs
push cs
push cs
or eax, 235802126
push cs
add dword [edi], ecx
pop ds
add byte [ebx + edx], bl
insb byte es:[edi], dx
add byte [eax - 0x3fff93f2], dh
push ds
insb byte es:[edi], dx
add byte [0x36006c0f], ch
adc ebp, dword [eax + eax + 0x53]
sbb byte [eax + eax - 0x52], ch
sbb eax, 0x1e39006c
insb byte es:[edi], dx
add ah, cl
push cs
insb byte es:[edi], dx
add byte [esi - 0x25ff93f2], dl
or eax, 0x1f4a006c
insb byte es:[edi], dx
add ah, dl
pop ds
insb byte es:[edi], dx
add byte [eax], al
or al, 0xc
or al, 12
or al, 12
or al, 12
or al, 12
or al, 1
or al, 2
or al, 12
or al, 12
or al, 12
or al, 12
or al, 12
or al, 12
add ecx, dword [esp + ecx]
or al, 4
add eax, 134743814
or byte [esp + ecx], cl
or al, 9
or cl, byte [esp + ecx]
or al, 11
int3