Function at 0x19f48e0
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x1aaf900
push 0x1a2a000
mov eax, dword fs:[0]
push eax
sub esp, 0x1a8
push ebx
push esi
push edi
mov eax, dword [0x1acd344]
xor dword [ebp - 8], eax
xor eax, ebp
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x60], edx
mov edi, ecx
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0x84], 1
mov byte [ebp - 0x29], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0xac], 0
mov ebx, dword [ebp + 0xc]
shr ebx, 3
mov esi, dword [ebp + 8]
test edx, 0x7d010f60
jne 0x19f5b52
cmp esi, 0x80000000
jae 0x19f5b52
mov dl, 1
mov dword [ebp - 0x34], edx
mov ecx, ebx
mov dword [ebp - 0x24], ecx
cmp ecx, 2
jb 0x19f6120
mov eax, dword [ebp + 0x14]
mov dword [eax], 3
mov eax, dword [ebp - 0x60]
mov esi, eax
and esi, 0x800000
jne 0x19f577d
mov dword [ebp - 4], 0
test al, 1
jne 0x19f49f9
mov ecx, dword [edi + 0xc8]
mov edx, dword fs:[0x18]
lea eax, [ecx + 4]
lock btr dword [eax], 0
jae 0x19f5ca7
mov eax, dword [edx + 0x24]
mov dword [ecx + 0xc], eax
mov dword [ecx + 8], 1
mov dword [ebp - 0xa8], 1
inc dword [edi + 0x204]
mov byte [ebp - 0x79], 1
mov byte [ebp - 0x29], 1
test dword [edi + 0x48], 0x30000000
jne 0x19f5e1d
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [edi + 0x5c]
ja 0x19f590e
test esi, esi
jne 0x19f4a9c
movzx eax, word [edi + 0xe0]
cmp ebx, eax
mov eax, dword [ebp + 8]
jae 0x19f57c1
cmp eax, dword [0x1ac585c]
ja 0x19f4a9c
mov eax, ebx
shr eax, 3
add eax, 0xe2
add eax, edi
mov dword [ebp - 0x54], eax
mov cl, bl
and cl, 7
mov byte [ebp - 0x35], cl
mov dl, byte [eax]
mov eax, 1
shl eax, cl
test dl, al
jne 0x19f5904
xor eax, eax
test al, al
jne 0x19f4a99
mov eax, dword [edi + 0xdc]
lea esi, [eax + ebx*2]
mov dword [ebp - 0x1b0], esi
add word [esi], 0x21
mov cx, word [esi]
cmp dword [ebp - 0xac], 0
jne 0x19f5aef
mov al, cl
and al, 0x1f
cmp al, 0x10
ja 0x19f5ae5
mov eax, 0xff00
cmp cx, ax
ja 0x19f5ae5
mov dword [ebp - 0xe8], 0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x19f4aad
mov ebx, dword [eax]
test ebx, ebx
jne 0x19f55cd
lea eax, [edi + 0xc0]
mov dword [ebp - 0xd8], eax
mov edx, dword [edi + 0xb4]
mov dword [ebp - 0x20], edx
mov ebx, dword [edx + 4]
cmp ecx, ebx
jae 0x19f5429
mov ebx, ecx
mov dword [ebp - 0x90], ebx
sub ebx, dword [edx + 0x14]
xor esi, esi
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x28], eax
mov ecx, dword [eax + 4]
cmp eax, ecx
je 0x19f5dfd
lea eax, [ecx - 8]
mov dword [ebp - 0x40], eax
mov edx, dword [eax]
mov dword [ebp - 0x148], edx
cmp dword [edi + 0x4c], esi
je 0x19f4b24
xor edx, dword [edi + 0x50]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x148], edx
mov ecx, edx
shr ecx, 0x10
xor cl, byte [ebp - 0x147]
xor cl, dl
mov eax, edx
shr eax, 0x18
cmp al, cl
jne 0x1a47261
movzx eax, dx
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov dword [ebp - 0x170], ecx
test ecx, ecx
jg 0x19f58bd
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
add eax, 0xfffffff8
mov dword [ebp - 0x40], eax
mov edx, dword [eax]
mov dword [ebp - 0x150], edx
cmp dword [edi + 0x4c], esi
je 0x19f4b78
xor edx, dword [edi + 0x50]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x150], edx
mov ecx, edx
shr ecx, 0x10
xor cl, byte [ebp - 0x14f]
xor cl, dl
mov eax, edx
shr eax, 0x18
cmp al, cl
jne 0x1a4727e
movzx eax, dx
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x20]
test ecx, ecx
jle 0x19f5746
cmp dword [edx], esi
je 0x19f5073
mov eax, ebx
shr eax, 5
mov esi, dword [edx + 4]
sub esi, dword [edx + 0x14]
shr esi, 5
dec esi
mov edx, dword [edx + 0x1c]
lea edx, [edx + eax*4]
and ebx, 0x1f
mov dword [ebp - 0x40], ebx
mov ebx, 1
mov ecx, dword [ebp - 0x40]
shl ebx, cl
dec ebx
not ebx
and ebx, dword [edx]
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xb0], eax
test ebx, ebx
jne 0x19f4be3
cmp eax, esi
ja 0x19f53b9
add edx, 4
mov ebx, dword [edx]
inc eax
jmp 0x19f4bc3
test bx, bx
jne 0x19f53d1
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
test ecx, ecx
jne 0x19f54e9
shr ebx, 0x18
movzx ecx, byte [ebx + 0x19b8c10]
add ecx, 0x18
shl eax, 5
add eax, ecx
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0x20]
cmp dword [edx + 8], 0
jne 0x1a472bf
mov ecx, dword [edx + 0x20]
mov esi, dword [ecx + eax*4]
test esi, esi
je 0x19f53c4
mov dword [ebp - 0x178], esi
cmp dword [ebp - 0xd8], esi
je 0x19f5815
lea ebx, [esi - 8]
mov dword [ebp - 0x68], ebx
cmp dword [edi + 0x4c], 0
je 0x19f4c63
mov eax, dword [edi + 0x50]
xor dword [ebx], eax
mov al, byte [ebx + 2]
xor al, byte [ebx + 1]
xor al, byte [ebx]
cmp byte [ebx + 3], al
jne 0x1a472c6
movzx eax, word [ebx]
cmp eax, dword [ebp - 0x24]
jb 0x19f580b
lea edx, [ebx + 8]
mov esi, dword [edx]
mov dword [ebp - 0x3c], esi
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ecx]
mov esi, dword [esi + 4]
cmp ecx, esi
jne 0x1a47312
cmp ecx, edx
jne 0x1a47312
sub dword [edi + 0x74], eax
mov ecx, dword [edi + 0xb4]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x19f4dc1
movzx edx, word [ebx]
lea esp, [esp]
mov eax, dword [ecx + 4]
cmp edx, eax
jae 0x19f5048
mov dword [ebp - 0xdc], edx
movzx eax, word [ebx]
mov dword [ebp - 0x9c], eax
mov esi, edx
sub esi, dword [ecx + 0x14]
mov dword [ebp - 0x20], esi
cmp dword [ecx + 8], 0
jne 0x1a472d5
mov eax, esi
shl eax, 2
mov dword [ebp - 0x44], eax
mov eax, dword [ecx + 0x20]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x54], eax
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
dec dword [ecx + 0xc]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x74], eax
dec eax
cmp edx, eax
je 0x19f54d9
lea eax, [ebx + 8]
cmp dword [ebp - 0x40], eax
jne 0x19f4dc1
mov esi, dword [ecx + 4]
mov dword [ebp - 0xe0], esi
cmp dword [ecx], 0
mov esi, dword [ebp - 0x20]
jne 0x19f4d31
mov esi, dword [ecx + 4]
dec esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0xe0], esi
mov esi, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x74]
jae 0x19f551a
mov edx, dword [eax]
mov dword [ebp - 0x6c], edx
cmp edx, dword [ecx + 0x18]
je 0x19f4d99
lea eax, [edx - 8]
mov dword [ebp - 0x40], eax
mov ebx, dword [eax]
mov dword [ebp - 0x130], ebx
cmp dword [edi + 0x4c], 0
je 0x19f4d7f
xor ebx, dword [edi + 0x50]
mov dword [ebp - 0x130], ebx
mov cl, byte [ebp - 0x12e]
xor cl, byte [ebp - 0x12f]
xor cl, bl
mov eax, ebx
shr eax, 0x18
cmp al, cl
jne 0x1a472dd
mov ecx, dword [ebp - 0x28]
movzx eax, bx
mov ebx, dword [ebp - 0x9c]
sub ebx, eax
mov dword [ebp - 0x17c], ebx
je 0x19f57f3
mov ebx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + eax], 0
shr esi, 5
mov ecx, dword [ebp - 0x20]
and ecx, 0x1f
mov edx, 1
shl edx, cl
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x1c]
not edx
and dword [eax + esi*4], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov dword [eax + 4], ecx
test byte [ebx + 2], 8
jne 0x19f5c91
mov byte [ebp - 0x4a], 1
mov cl, byte [ebx + 2]
mov byte [ebp - 0x4b], cl
cmp dword [ebp - 0x84], 0
je 0x19f5b44
mov dword [ebp - 0x64], ebx
test byte [ebx + 2], 1
jne 0x19f6155
xor eax, eax
test al, al
jne 0x19f615f
mov ecx, dword [ebp - 0x34]
mov byte [ebx + 2], cl
movzx esi, word [ebx]
mov ecx, dword [ebp - 0x24]
sub esi, ecx
mov dword [ebp - 0x180], esi
mov word [ebx], cx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
sub eax, edx
mov dword [ebp - 0x3c], eax
cmp eax, 0x3f
jae 0x1a47433
mov byte [ebx + 7], al
mov byte [ebx + 3], 0
test esi, esi
je 0x19f5253
cmp esi, 1
je 0x19f58c8
cmp dword [ebp - 0x84], 0
je 0x19f5df3
xor edx, edx
mov dword [ebp - 0x80], edx
mov al, byte [ebx + 6]
test al, al
jne 0x19f53e8
mov ecx, edi
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + eax*8]
mov dword [ebp - 0x74], 0
mov al, byte [ebp - 0x4b]
mov byte [ebx + 2], al
mov byte [ebx + 7], 0
mov ax, word [edi + 0x54]
xor ax, word [ebp - 0x24]
mov word [ebx + 4], ax
cmp dword [ecx + 0x18], ecx
jne 0x19f5403
xor al, al
mov byte [ebp - 0x7a], al
mov byte [ebx + 6], al
mov byte [ebx + 3], 0
mov word [ebx], si
lea ebx, [ebx]
movzx ecx, byte [edi + 0x52]
mov eax, dword [edi + 0x4c]
shr eax, 0x14
and ecx, eax
movzx eax, byte [ebx + esi*8 + 2]
xor ecx, eax
test cl, 1
je 0x19f603a
mov eax, 1
test al, al
je 0x19f5ec4
mov ax, word [edi + 0x54]
xor ax, si
mov word [ebx + esi*8 + 4], ax
test dl, dl
jne 0x19f5d34
movzx edx, si
mov dword [ebp - 0x20], edx
mov byte [ebx + 2], 0
mov byte [ebx + 7], 0
lea eax, [edi + 0xc0]
mov ecx, dword [edi + 0xb4]
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x1a474d6
mov eax, dword [ecx + 4]
cmp edx, eax
jae 0x19f505c
mov eax, edx
mov dword [ebp - 0x8c], eax
sub eax, dword [ecx + 0x14]
mov dword [ebp - 0x28], eax
xor esi, esi
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x34], eax
mov edx, dword [eax + 4]
cmp eax, edx
je 0x19f579e
lea eax, [edx - 8]
mov dword [ebp - 0x1c], eax
mov edx, dword [eax]
mov dword [ebp - 0x160], edx
cmp dword [edi + 0x4c], esi
je 0x19f4f77
xor edx, dword [edi + 0x50]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x160], edx
mov ecx, edx
shr ecx, 0x10
xor cl, byte [ebp - 0x15f]
xor cl, dl
mov eax, edx
shr eax, 0x18
cmp al, cl
jne 0x1a4746b
movzx eax, dx
mov edx, dword [ebp - 0x20]
mov ecx, edx
sub ecx, eax
mov dword [ebp - 0x184], ecx
test ecx, ecx
jg 0x19f53ae
mov edx, dword [ebp - 0x34]
mov eax, dword [edx]
add eax, 0xfffffff8
mov dword [ebp - 0x1c], eax
mov ecx, dword [eax]
mov dword [ebp - 0x168], ecx
cmp dword [edi + 0x4c], esi
je 0x19f4fd0
mov eax, dword [edi + 0x50]
xor eax, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x168], eax
mov ecx, eax
shr ecx, 0x10
xor cl, byte [ebp - 0x167]
xor cl, al
shr eax, 0x18
cmp al, cl
jne 0x1a47488
mov ecx, dword [ebp - 0x54]
movzx eax, cx
mov ecx, dword [ebp - 0x20]
sub ecx, eax
mov dword [ebp - 0x188], ecx
test ecx, ecx
mov ecx, dword [ebp - 0x24]
jle 0x19f57ba
cmp dword [ecx], esi
je 0x19f543d
mov edx, dword [ebp - 0x28]
shr edx, 5
mov eax, dword [ecx + 4]
sub eax, dword [ecx + 0x14]
shr eax, 5
dec eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + 0x1c]
lea eax, [eax + edx*4]
mov ecx, dword [ebp - 0x28]
and ecx, 0x1f
mov esi, 1
shl esi, cl
mov dword [ebp - 0x1c], esi
mov ecx, esi
dec ecx
not ecx
and ecx, dword [eax]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xb4], edx
test ecx, ecx
jne 0x19f50f4
cmp edx, esi
ja 0x19f5765
add eax, 4
mov ecx, dword [eax]
inc edx
jmp 0x19f5024
mov esi, dword [ecx]
test esi, esi
je 0x19f54e1
mov ecx, esi
mov dword [ebp - 0x28], ecx
jmp 0x19f4cb0
mov edx, dword [ecx]
test edx, edx
je 0x19f5550
mov ecx, edx
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x20]
jmp 0x19f4f12
mov eax, dword [edx + 4]
dec eax
cmp dword [ebp - 0x90], eax
jne 0x19f4b99
cmp dword [edx + 8], esi
jne 0x1a4729b
mov eax, dword [edx + 0x20]
mov edx, dword [eax + ebx*4]
mov dword [ebp - 0x74], edx
cmp dword [ebp - 0x28], edx
je 0x19f58c0
lea eax, [edx - 8]
mov dword [ebp - 0x40], eax
mov ebx, dword [eax]
mov dword [ebp - 0x158], ebx
cmp dword [edi + 0x4c], esi
je 0x19f50d4
xor ebx, dword [edi + 0x50]
mov dword [ebp - 0x158], ebx
mov ecx, ebx
shr ecx, 0x10
xor cl, byte [ebp - 0x157]
xor cl, bl
mov eax, ebx
shr eax, 0x18
cmp al, cl
jne 0x1a472a2
movzx eax, bx
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov dword [ebp - 0x1a0], ecx
test ecx, ecx
jg 0x19f58b6
mov esi, edx
mov edx, dword [ebp - 0x20]
jmp 0x19f4c27
test cx, cx
je 0x19f54f8
movzx eax, cl
test cl, cl
je 0x19f5750
movzx eax, byte [eax + 0x19b8c10]
shl edx, 5
add edx, eax
mov dword [ebp - 0xb4], edx
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 8], 0
jne 0x1a474cf
mov eax, dword [ecx + 0x20]
mov esi, dword [eax + edx*4]
mov edx, dword [ebp - 0x20]
test esi, esi
je 0x19f5770
lea eax, [edi + 0xc0]
mov edi, edi
cmp eax, esi
je 0x19f5177
cmp dword [edi + 0x4c], 0
je 0x1a474dd
mov ecx, dword [esi - 8]
mov dword [ebp - 0xa0], ecx
test dword [edi + 0x4c], ecx
je 0x19f5165
xor ecx, dword [edi + 0x50]
mov dword [ebp - 0xa0], ecx
mov word [ebp - 0x86], cx
movzx eax, cx
cmp edx, eax
ja 0x1a474e6
lea edx, [ebx + 8]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
cmp ecx, esi
jne 0x1a474f3
mov dword [edx], esi
mov dword [edx + 4], eax
mov dword [eax], edx
mov dword [esi + 4], edx
movzx eax, word [ebx]
add dword [edi + 0x74], eax
mov ecx, dword [edi + 0xb4]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x19f522e
movzx eax, word [ebx]
mov dword [ebp - 0x54], eax
mov edi, edi
mov esi, dword [ecx + 4]
cmp eax, esi
jae 0x19f5397
mov dword [ebp - 0xfc], eax
movzx edx, word [ebx]
mov dword [ebp - 0x44], edx
mov esi, eax
sub esi, dword [ecx + 0x14]
mov dword [ebp - 0x3c], esi
cmp dword [ecx + 8], 0
jne 0x1a47508
mov dword [ebp - 0x20], esi
inc dword [ecx + 0xc]
mov eax, dword [ecx + 0x20]
mov edx, dword [ebp - 0x20]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x74], eax
mov eax, dword [ecx + 4]
dec eax
cmp dword [ebp - 0x54], eax
lea edx, [ebx + 8]
je 0x19f5548
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x19f5561
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [eax + ecx*4], edx
cmp dword [ebp - 0x74], 0
jne 0x19f522e
shr esi, 5
mov ecx, dword [ebp - 0x3c]
and ecx, 0x1f
mov edx, 1
shl edx, cl
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x1c]
or dword [eax + esi*4], edx
cmp dword [edi + 0x4c], 0
je 0x19f524b
movzx ecx, byte [ebx + 2]
movzx eax, byte [ebx + 1]
xor ecx, eax
movzx eax, byte [ebx]
xor ecx, eax
mov byte [ebx + 3], cl
mov eax, dword [edi + 0x50]
xor dword [ebx], eax
mov byte [ebp - 0x7b], 1
mov byte [ebp - 0x4b], 0
mov edx, dword [ebp - 0x64]
lea eax, [edx + 8]
mov dword [ebp - 0x5c], eax
movzx ebx, word [edx]
shl ebx, 3
mov dword [ebp - 0xbc], ebx
lea esi, [edx + 7]
mov al, byte [esi]
and al, 0x3f
cmp al, 0x3f
je 0x19f6177
xor eax, eax
test al, al
jne 0x19f6181
cmp dword [ebp - 0x84], 0
je 0x19f5be0
cmp dword [edi + 0x4c], 0
je 0x19f52ae
mov edx, dword [ebp - 0x64]
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 1]
xor ecx, eax
movzx eax, byte [edx]
xor ecx, eax
mov byte [edx + 3], cl
mov eax, dword [edi + 0x50]
xor dword [edx], eax
cmp byte [ebp - 0x29], 0
je 0x19f5349
test dword [edi + 0x44], 0x1000000
jne 0x19f5315
inc dword [edi + 0x21c]
mov edx, dword [edi + 0x224]
cmp dword [edi + 0x21c], edx
jbe 0x19f52ff
mov dword [edi + 0x21c], 0
mov eax, dword [edi + 0x74]
shl eax, 3
mov ecx, dword [edi + 0x1e8]
sub ecx, eax
cmp ecx, dword [edi + 0x238]
ja 0x19f55c2
mov dword [edi + 0x23c], ecx
inc dword [edi + 0x228]
cmp dword [edi + 0x228], 0x1000
jae 0x19f5e4e
mov esi, dword [edi + 0xc8]
add dword [esi + 8], 0xffffffff
jne 0x19f5345
mov dword [esi + 0xc], 0
lea edx, [esi + 4]
or ecx, 0xffffffff
mov eax, 0xfffffffe
lock cmpxchg dword [edx], ecx
mov edx, eax
mov dword [ebp - 0x44], edx
cmp edx, 0xfffffffe
jne 0x19f604d
mov byte [ebp - 0x29], 0
test byte [ebp - 0x60], 8
jne 0x19f54c3
mov dword [ebp - 4], 0xfffffffe
call fcn.019f6325
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x19f6309
mov eax, 0x7ffe0388
mov esi, dword [ebp - 0x5c]
cmp byte [eax], 0
jne 0x19f608c
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ecx]
mov dword [ebp - 0x1c], edx
test edx, edx
je 0x19f5556
mov ecx, edx
mov dword [ebp - 0x28], ecx
jmp 0x19f51b0
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x24]
jmp 0x19f5130
test ebx, ebx
jne 0x19f4be3
mov edx, dword [ebp - 0x20]
mov edx, dword [edx]
mov dword [ebp - 0x20], edx
mov ebx, dword [edx + 0x14]
jmp 0x19f4acf
movzx ecx, bl
test bl, bl
je 0x19f5533
movzx ecx, byte [ecx + 0x19b8c10]
jmp 0x19f4c09
movzx eax, al
mov ecx, 1
sub ecx, eax
shl ecx, 0x10
mov eax, ebx
and eax, 0xffff0000
add ecx, eax
jmp 0x19f4e66
mov eax, ebx
sub eax, ecx
shr eax, 0x10
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x6c], eax
test eax, eax
jle 0x1a4744d
cmp eax, 0xfe
jl 0x19f4e9d
jmp 0x1a4744d
mov eax, dword [edx]
test eax, eax
je 0x19f57b4
mov edx, eax
mov dword [ebp - 0x20], eax
jmp 0x19f4ac2
mov eax, dword [ecx + 4]
dec eax
cmp dword [ebp - 0x8c], eax
jne 0x19f4ff1
cmp dword [ecx + 8], esi
jne 0x1a474a5
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x44], eax
cmp edx, eax
je 0x19f54bb
add eax, 0xfffffff8
mov dword [ebp - 0x1c], eax
mov ecx, dword [eax]
mov dword [ebp - 0x140], ecx
cmp dword [edi + 0x4c], esi
je 0x19f54a2
mov eax, dword [edi + 0x50]
xor eax, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x140], eax
mov ecx, eax
shr ecx, 0x10
xor cl, byte [ebp - 0x13f]
xor cl, al
shr eax, 0x18
cmp al, cl
jne 0x1a474b2
mov ecx, dword [ebp - 0x54]
movzx eax, cx
mov ecx, dword [ebp - 0x20]
sub ecx, eax
mov dword [ebp - 0x18c], ecx
test ecx, ecx
jg 0x19f5d2a
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x24]
jmp 0x19f512d
lea eax, [ebx - 8]
push eax
push 0
push dword [ebp - 0x5c]
call fcn.01a28e60
add esp, 0xc
jmp 0x19f5353
dec dword [ecx + 0x10]
jmp 0x19f4d04
lea edx, [eax - 1]
jmp 0x19f4cbb
movzx ecx, byte [ecx + 0x19b8c10]
add ecx, 0x10
jmp 0x19f4c09
mov eax, ecx
shr eax, 0x10
movzx eax, al
test eax, eax
jne 0x19f57a5
shr ecx, 0x18
movzx eax, byte [ecx + 0x19b8c10]
add eax, 0x18
jmp 0x19f510f
mov eax, dword [eax]
cmp eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x54]
jne 0x19f5804
mov dword [ecx], 0
jmp 0x19f4da6
shr ebx, 8
movzx ecx, bl
movzx ecx, byte [ecx + 0x19b8c10]
add ecx, 8
jmp 0x19f4c09
inc dword [ecx + 0x10]
jmp 0x19f51fb
dec eax
jmp 0x19f4f1f
lea eax, [esi - 1]
mov dword [ebp - 0x54], eax
jmp 0x19f51bb
add eax, 0xfffffff8
mov dword [ebp - 0x1c], eax
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x138], eax
cmp dword [edi + 0x4c], 0
je 0x19f55a6
mov eax, dword [edi + 0x50]
xor eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x138], eax
mov cl, byte [ebp - 0x136]
xor cl, byte [ebp - 0x137]
xor cl, al
shr eax, 0x18
cmp al, cl
jne 0x1a47513
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
movzx eax, ax
sub dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x190], eax
test eax, eax
jle 0x19f5206
jmp 0x19f520f
mov dword [edi + 0x238], ecx
jmp 0x19f52f9
add ebx, 0xfffffff8
mov dword [ebp - 0x68], ebx
cmp dword [edi + 0x4c], 0
je 0x19f55ef
mov eax, dword [edi + 0x50]
xor dword [ebx], eax
mov al, byte [ebx + 2]
xor al, byte [ebx + 1]
xor al, byte [ebx]
cmp byte [ebx + 3], al
jne 0x1a471ba
lea esi, [ebx + 8]
mov ecx, dword [esi]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x40], eax
mov eax, dword [eax]
mov ecx, dword [ecx + 4]
cmp eax, ecx
jne 0x1a4721d
cmp eax, esi
jne 0x1a4721d
movzx eax, word [ebx]
sub dword [edi + 0x74], eax
mov ecx, dword [edi + 0xb4]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x19f5728
movzx edx, word [ebx]
lea esp, [esp]
mov eax, dword [ecx + 4]
cmp edx, eax
jae 0x19f5cfa
mov dword [ebp - 0xcc], edx
movzx eax, word [ebx]
mov dword [ebp - 0x9c], eax
mov eax, edx
sub eax, dword [ecx + 0x14]
mov dword [ebp - 0x74], eax
cmp dword [ecx + 8], 0
jne 0x1a471d1
shl eax, 2
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 0x20]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
dec dword [ecx + 0xc]
mov eax, dword [ecx + 4]
dec eax
cmp edx, eax
lea esi, [ebx + 8]
je 0x19f614d
cmp dword [ebp - 0x54], esi
jne 0x19f5728
mov eax, dword [ecx + 4]
mov dword [ebp - 0xd0], eax
cmp dword [ecx], 0
je 0x19f58e7
cmp edx, eax
jae 0x1a471f0
mov esi, dword [esi]
cmp esi, dword [ecx + 0x18]
je 0x19f56fe
lea edx, [esi - 8]
mov ebx, dword [edx]
mov dword [ebp - 0x128], ebx
cmp dword [edi + 0x4c], 0
je 0x19f56e4
xor ebx, dword [edi + 0x50]
mov dword [ebp - 0x128], ebx
mov cl, byte [ebp - 0x126]
xor cl, byte [ebp - 0x127]
xor cl, bl
mov eax, ebx
shr eax, 0x18
cmp al, cl
jne 0x1a471d8
mov ecx, dword [ebp - 0x20]
movzx eax, bx
mov edx, dword [ebp - 0x9c]
sub edx, eax
mov dword [ebp - 0x1b4], edx
je 0x19f58f3
mov ebx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x28]
mov dword [ecx + eax], 0
mov ecx, dword [ebp - 0x74]
mov esi, ecx
shr esi, 5
and ecx, 0x1f
mov edx, 1
shl edx, cl
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x1c]
not edx
and dword [eax + esi*4], edx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
mov dword [eax + 4], ecx
test byte [ebx + 2], 8
jne 0x19f5e91
mov byte [ebp - 0x49], 1
jmp 0x19f4dda
mov eax, dword [ebp - 0x28]
mov esi, dword [eax]
jmp 0x19f4c27
shr ecx, 8
movzx eax, cl
movzx eax, byte [eax + 0x19b8c10]
add eax, 8
jmp 0x19f510f
test ecx, ecx
jne 0x19f50f4
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
mov dword [ebp - 0x24], ecx
mov eax, dword [ecx + 0x14]
jmp 0x19f4f1f
mov eax, dword fs:[0x30]
test dword [eax + 0x68], 0x800
mov eax, dword [ebp - 0x60]
jne 0x19f499e
or edx, 8
mov dword [ebp - 0x34], edx
jmp 0x19f499e
mov esi, eax
jmp 0x19f512d
movzx eax, byte [eax + 0x19b8c10]
add eax, 0x10
jmp 0x19f510f
dec ebx
jmp 0x19f4acf
mov esi, dword [edx]
jmp 0x19f512d
cmp eax, dword [0x1ac585c]
ja 0x19f4a9c
cmp byte [edi + 0xda], 2
je 0x19f60c1
cmp byte [edi + 0xdb], 2
jne 0x19f4a9c
or dword [edi + 0x48], 0x20000000
jmp 0x19f4a9c
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + eax], edx
mov ebx, dword [ebp - 0x68]
jmp 0x19f4dc1
mov dword [ecx], eax
jmp 0x19f4dc1
cmp dword [edi + 0x4c], 0
jne 0x1a4732c
mov edx, dword [ebp + 0xc]
mov ecx, edi
call fcn.019de9f6
mov ebx, eax
mov dword [ebp - 0x68], ebx
test ebx, ebx
je 0x19f5ea7
lea edx, [ebx + 8]
mov esi, dword [edx]
mov dword [ebp - 0x1c], esi
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x54], ecx
mov eax, dword [ecx]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x3c], ecx
cmp eax, ecx
mov ecx, dword [ebp - 0x54]
jne 0x1a477fd
cmp eax, edx
jne 0x1a477fd
movzx eax, word [ebx]
sub dword [edi + 0x74], eax
mov edx, dword [edi + 0xb4]
test edx, edx
je 0x19f589e
movzx ecx, word [ebx]
mov eax, dword [edx + 4]
cmp ecx, eax
jb 0x19f5883
mov esi, dword [edx]
mov dword [ebp - 0x3c], esi
test esi, esi
mov esi, dword [ebp - 0x1c]
je 0x19f5880
mov edx, dword [ebp - 0x3c]
jmp 0x19f5868
lea ecx, [eax - 1]
mov dword [ebp - 0xec], ecx
movzx eax, word [ebx]
push eax
push ecx
lea eax, [ebx + 8]
push eax
push 1
mov ecx, edi
call fcn.019e0895
mov ecx, dword [ebp - 0x54]
mov dword [ecx], esi
mov dword [esi + 4], ecx
test byte [ebx + 2], 8
jne 0x1a47348
mov byte [ebp - 0x4d], 1
jmp 0x19f4dda
mov edx, dword [edx]
jmp 0x19f5092
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
jmp 0x19f4c27
inc word [ebx]
mov eax, dword [ebp + 0xc]
sub eax, edx
add eax, 8
mov dword [ebp - 0x40], eax
cmp eax, 0x3f
jae 0x1a47440
mov byte [ebx + 7], al
jmp 0x19f5253
dec eax
mov dword [ebp - 0xd0], eax
jmp 0x19f569d
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x28]
mov dword [ecx + eax], esi
mov ebx, dword [ebp - 0x68]
jmp 0x19f5728
mov eax, 1
jmp 0x19f4a4e
test byte [edi + 0x40], 2
je 0x1a478ec
mov ebx, dword [ebp + 0xc]
add ebx, 0x18
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0xc], ebx
call fcn.019ddc04
mov esi, eax
and esi, 0xf
shl esi, 0xc
mov dword [ebp - 0x1b8], esi
mov dword [ebp - 0xc8], 0
mov ecx, dword [ebp + 0xc]
add ecx, 0x1000
add ecx, esi
mov dword [ebp - 0xc4], ecx
mov edx, 1
mov ecx, edi
call fcn.019df147
mov ebx, eax
mov dword [ebp - 0x1a4], ebx
push ebx
push 0x2000
lea eax, [ebp - 0xc4]
push eax
push 0
lea eax, [ebp - 0xc8]
push eax
push 0xffffffffffffffff
call fcn.01a22ac0
mov dword [ebp - 0x94], eax
test eax, eax
js 0x19f5353
mov eax, dword [ebp - 0xc8]
add eax, esi
mov dword [ebp - 0x30], eax
push ebx
push 0x1000
lea eax, [ebp + 0xc]
push eax
push 0
lea eax, [ebp - 0x30]
push eax
push 0xffffffffffffffff
call fcn.01a22ac0
mov dword [ebp - 0x94], eax
test eax, eax
js 0x1a478da
mov ecx, dword [ebp + 0xc]
sub ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x30]
mov word [eax + 0x18], cx
mov ecx, dword [ebp - 0x34]
or cl, 2
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1a], cl
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp + 0xc]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1f], 4
mov eax, dword [ebp + 0xc]
add dword [edi + 0x1f0], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x1a47819
mov dword [ebp - 0x110], eax
mov eax, 0x7ffe0380
cmp byte [eax], 0
jne 0x19f6247
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x1a4783c
mov dword [ebp - 0x114], eax
mov eax, 0x7ffe0380
cmp byte [eax], 0
jne 0x19f626e
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x1a47872
mov dword [ebp - 0x118], eax
mov eax, 0x7ffe038a
cmp byte [eax], 0
jne 0x19f62b0
test dword [edi + 0x40], 0x8000000
jne 0x1a478a8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x1a8], eax
test eax, 0x800
jne 0x19f62df
mov edx, dword [ebp - 0x30]
cmp dword [edi + 0x4c], 0
je 0x19f5aba
movzx ecx, byte [edx + 0x1a]
movzx eax, byte [edx + 0x19]
xor ecx, eax
movzx eax, byte [edx + 0x18]
xor ecx, eax
mov byte [edx + 0x1b], cl
mov eax, dword [edi + 0x50]
xor dword [edx + 0x18], eax
mov edx, dword [ebp - 0x30]
lea eax, [edi + 0x9c]
mov ecx, dword [eax + 4]
mov esi, dword [ecx]
cmp esi, eax
jne 0x1a478c5
mov dword [edx], eax
mov dword [edx + 4], ecx
mov dword [ecx], edx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x30]
add eax, 0x20
mov dword [ebp - 0x5c], eax
jmp 0x19f5353
mov dword [ebp - 0xe8], 1
mov eax, dword [ebp + 8]
test eax, eax
je 0x19f6143
mov edx, eax
cmp byte [edi + 0xda], 2
jne 0x19f5e29
mov ecx, dword [edi + 0xd4]
call fcn.019dc816
movzx eax, ax
mov ecx, 0xffff
cmp ax, cx
je 0x19f5e30
mov word [esi], ax
mov edx, dword [ebp - 0x54]
mov al, byte [edx]
movzx ecx, al
movzx eax, byte [ebp - 0x35]
bts ecx, eax
mov byte [edx], cl
inc dword [edi + 0x22c]
jmp 0x19f4a99
test cl, 4
je 0x19f4ded
jmp 0x1a47371
mov dword [ebp - 0x84], 0
mov eax, dword [ebp + 0x14]
mov dword [eax], 4
cmp esi, 0x7fffffff
ja 0x1a47162
test edx, 0x61000000
setne cl
bt edx, 0x1c
setae al
test al, cl
jne 0x19f60b4
test esi, esi
je 0x1a47169
mov ecx, esi
mov eax, dword [edi + 0x94]
add eax, ecx
and eax, dword [edi + 0x98]
cmp eax, 0x10
jb 0x1a47173
mov dword [ebp + 0xc], eax
shr edx, 4
and edx, 0xffffffe1
or edx, 1
mov dword [ebp - 0x34], edx
test dword [ebp - 0x60], 0x3c000100
je 0x19f6131
or edx, 2
mov dword [ebp - 0x34], edx
add eax, 8
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
shr ecx, 3
mov dword [ebp - 0x24], ecx
jmp 0x19f498d
test byte [ebp - 0x60], 8
jne 0x19f5d14
test byte [edi + 0x40], 0x40
jne 0x19f618f
test byte [edi + 0x40], 0x20
jne 0x19f61a8
mov edx, dword [ebp - 0x64]
lea ebx, [edx + 3]
mov byte [ebx], 0
lea eax, [edx + 2]
mov dword [ebp - 0x1c], eax
test byte [eax], 2
je 0x19f620b
cmp byte [esi], 4
je 0x19f61c9
xor eax, eax
test al, al
jne 0x19f61d3
mov edx, dword [ebp - 0x64]
movzx esi, word [edx]
dec esi
lea esi, [edx + esi*8]
mov dword [ebp - 0xc0], esi
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
test dword [edi + 0x40], 0x8000000
jne 0x1a477eb
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x198], eax
test eax, 0x800
jne 0x19f61de
mov esi, dword [ebp - 0x64]
cmp dword [edi + 0x4c], 0
je 0x19f5353
movzx ecx, byte [esi + 1]
movzx eax, byte [esi]
xor ecx, eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax]
xor ecx, eax
mov byte [ebx], cl
mov eax, dword [edi + 0x50]
xor dword [esi], eax
jmp 0x19f5353
mov edx, ebx
mov ecx, edi
call fcn.019edfaf
test al, al
jne 0x19f4dd6
jmp 0x1a472fa
mov eax, dword [ecx + 0xc]
cmp eax, dword [edx + 0x24]
je 0x19f5e04
mov dword [ebp - 0xa8], 0
cmp byte [0x1ac7c28], 0
jne 0x1a4717d
xor eax, eax
test al, al
jne 0x1a47187
mov dword [ebp - 0xac], 1
push dword [edi + 0xc8]
call fcn.019fbe50
mov edx, 1
mov ecx, edi
call fcn.01a17a5c
jmp 0x19f49e1
mov esi, dword [ecx]
mov dword [ebp - 0x9c], esi
test esi, esi
je 0x1a471c9
mov ecx, esi
mov dword [ebp - 0x20], ecx
jmp 0x19f5630
lea eax, [ebx - 8]
push eax
push 0
push dword [ebp - 0x5c]
call fcn.01a28e60
add esp, 0xc
jmp 0x19f5bf4
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
jmp 0x19f545f
movzx esi, si
and byte [ebx + 2], 0xf0
mov byte [ebx + 7], 0
test byte [edi + 0x40], 0x40
jne 0x1a47530
lea eax, [edi + 0xc0]
cmp dword [edi + 0xb4], 0
je 0x1a4754f
mov edx, esi
mov ecx, edi
call fcn.019de9b4
mov edx, eax
lea eax, [edi + 0xc0]
lea ecx, [ecx]
cmp eax, edx
je 0x19f5da1
cmp dword [edi + 0x4c], 0
je 0x1a47556
mov ecx, dword [edx - 8]
mov dword [ebp - 0x58], ecx
test dword [edi + 0x4c], ecx
je 0x19f5d8f
xor ecx, dword [edi + 0x50]
mov dword [ebp - 0x58], ecx
mov word [ebp - 0x96], cx
movzx eax, cx
cmp esi, eax
ja 0x1a4755f
lea esi, [ebx + 8]
mov eax, dword [edx + 4]
mov ecx, dword [eax]
cmp ecx, edx
jne 0x1a4756c
mov dword [esi], edx
mov dword [esi + 4], eax
mov dword [eax], esi
mov dword [edx + 4], esi
movzx eax, word [ebx]
add dword [edi + 0x74], eax
mov edx, dword [edi + 0xb4]
test edx, edx
je 0x19f522e
movzx ecx, word [ebx]
mov eax, dword [edx + 4]
cmp ecx, eax
jae 0x19f5e0c
mov dword [ebp - 0x100], ecx
movzx eax, word [ebx]
push eax
push ecx
push esi
push 1
mov ecx, edi
call fcn.019de8ff
jmp 0x19f522e
mov edx, 1
jmp 0x19f4e56
mov esi, eax
jmp 0x19f4c27
inc dword [ecx + 8]
jmp 0x19f49d1
mov esi, dword [edx]
mov dword [ebp - 0x1c], esi
test esi, esi
lea esi, [ebx + 8]
je 0x19f5e49
mov edx, dword [ebp - 0x1c]
jmp 0x19f5dd2
mov ecx, edi
call fcn.019e14fc
jmp 0x19f49f6
xor ecx, ecx
jmp 0x19f5b0f
cmp byte [edi + 0xda], 2
je 0x19f634e
or dword [edi + 0x48], 0x20000000
jmp 0x19f4a99
lea ecx, [eax - 1]
jmp 0x19f5dd9
cmp byte [edi + 0xda], 2
jne 0x19f5ebd
cmp dword [edi + 0x22c], 0x10
jbe 0x19f5ebd
mov ecx, 4
mov eax, 0x1000
sar eax, cl
cmp dword [edi + 0x220], eax
ja 0x19f6106
mov dword [edi + 0x220], 0
mov dword [edi + 0x228], 0
jmp 0x19f5315
mov edx, ebx
mov ecx, edi
call fcn.019edfaf
test al, al
jne 0x19f573d
jmp 0x1a4720c
mov dword [ebp - 0x94], 0xc0000017
mov dword [ebp - 0x5c], 0
jmp 0x19f5353
mov ecx, 8
jmp 0x19f5e65
lea edx, [ebx + esi*8]
cmp dword [edi + 0x4c], 0
je 0x19f5ee3
mov eax, dword [edi + 0x50]
xor dword [edx], eax
mov al, byte [edx + 1]
xor al, byte [edx + 2]
xor al, byte [edx]
cmp byte [edx + 3], al
jne 0x1a47581
mov eax, dword [edx + 8]
mov dword [ebp - 0x54], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x3c], eax
mov eax, dword [eax]
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
lea ecx, [edx + 8]
jne 0x1a477ac
cmp eax, ecx
jne 0x1a477ac
movzx eax, word [edx]
sub dword [edi + 0x74], eax
mov ecx, dword [edi + 0xb4]
test ecx, ecx
je 0x19f5f5e
movzx eax, word [edx]
mov dword [ebp - 0x44], eax
cmp eax, dword [ecx + 4]
jb 0x19f5f3f
mov eax, dword [ecx]
mov dword [ebp - 0x1c], eax
test eax, eax
mov eax, dword [ebp - 0x44]
jne 0x19f6041
mov eax, dword [ecx + 4]
dec eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x104], eax
movzx eax, word [edx]
push eax
push dword [ebp - 0x44]
lea eax, [edx + 8]
push eax
push 1
mov edx, ecx
mov ecx, edi
call fcn.019e0895
lea edx, [ebx + esi*8]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov dword [eax + 4], ecx
test byte [edx + 2], 8
jne 0x1a47591
mov byte [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x80]
test cl, cl
jne 0x1a475bb
mov al, byte [edx + 2]
mov byte [ebx + 2], al
movzx eax, word [edx]
add esi, eax
mov dword [ebp - 0x1c], esi
cmp esi, 0xfe00
ja 0x1a4779d
mov word [ebx], si
mov ax, word [edi + 0x54]
xor ax, si
mov word [ebx + esi*8 + 4], ax
test cl, cl
jne 0x1a476b8
movzx eax, si
mov dword [ebp - 0x1c], eax
mov byte [ebx + 2], cl
mov byte [ebx + 7], cl
lea esi, [edi + 0xc0]
cmp dword [edi + 0xb4], 0
je 0x1a4768c
mov edx, eax
mov ecx, edi
call fcn.019de9b4
mov ecx, eax
lea ecx, [ecx]
cmp esi, ecx
jne 0x19f60d3
lea esi, [ebx + 8]
mov eax, dword [ecx + 4]
mov edx, dword [eax]
cmp edx, ecx
jne 0x1a476a3
mov dword [esi], ecx
mov dword [esi + 4], eax
mov dword [eax], esi
mov dword [ecx + 4], esi
movzx eax, word [ebx]
add dword [edi + 0x74], eax
mov edx, dword [edi + 0xb4]
test edx, edx
je 0x19f522e
movzx ecx, word [ebx]
lea esp, [esp]
cmp ecx, dword [edx + 4]
jb 0x19f602f
mov eax, dword [edx]
test eax, eax
jne 0x19f6049
mov ecx, dword [edx + 4]
dec ecx
mov dword [ebp - 0x108], ecx
jmp 0x19f5ddf
xor eax, eax
jmp 0x19f4ed1
mov ecx, dword [ebp - 0x1c]
jmp 0x19f5f23
mov edx, eax
jmp 0x19f6020
test byte [esi + 4], 1
jne 0x1a477d3
mov eax, edx
and eax, 2
or eax, 1
mov dword [ebp - 0x1c], eax
lea ecx, [eax + edx]
mov eax, edx
lea edx, [esi + 4]
lock cmpxchg dword [edx], ecx
cmp eax, dword [ebp - 0x44]
jne 0x1a477e1
test byte [ebp - 0x1c], 2
je 0x19f5345
push esi
call fcn.019dc520
jmp 0x19f5345
test esi, esi
je 0x19f5381
mov edx, dword [ebp - 0x30]
test edx, edx
je 0x19f5381
push dword [edx + 0x14]
and edx, 0xffff0000
mov ecx, edi
call fcn.01a91a66
jmp 0x19f5381
push esi
mov ecx, edi
call fcn.01a97459
jmp 0x19f5383
cmp dword [edi + 0xd4], 0
jne 0x19f4a9c
jmp 0x19f57da
cmp dword [edi + 0x4c], 0
je 0x1a47693
mov edx, dword [ecx - 8]
mov dword [ebp - 0x78], edx
test dword [edi + 0x4c], edx
je 0x19f60ee
xor edx, dword [edi + 0x50]
mov dword [ebp - 0x78], edx
mov word [ebp - 0x88], dx
movzx eax, dx
cmp dword [ebp - 0x1c], eax
jbe 0x19f5fe8
jmp 0x1a4769c
cmp edx, 0x10000
jae 0x19f5e78
lea eax, [edx + edx]
mov dword [edi + 0x224], eax
jmp 0x19f5e78
add dword [ebp + 0xc], 8
mov ecx, 2
mov dword [ebp - 0x24], ecx
jmp 0x19f4984
cmp dword [edi + 0xbc], 0
je 0x19f5bd2
jmp 0x19f5bc6
mov edx, 1
jmp 0x19f5afc
dec dword [ecx + 0x10]
jmp 0x19f5682
mov eax, 1
jmp 0x19f4dfc
push 0
push 0
push 0
push ebx
mov edx, edi
mov ecx, 3
call fcn.01a36033
jmp 0x19f5353
mov eax, 1
jmp 0x19f5279
sub ebx, 4
mov dword [ebp - 0xbc], ebx
jmp 0x19f5281
push 0xbaadf00d
mov eax, dword [ebp + 8]
and eax, 0xfffffffc
push eax
push dword [ebp - 0x5c]
call fcn.01a36650
jmp 0x19f5bf4
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp + 8]
mov dword [eax + ecx], 0xabababab
mov dword [eax + ecx + 4], 0xabababab
mov eax, dword [ebp - 0x64]
or byte [eax + 2], 4
jmp 0x19f5bfe
mov eax, 1
jmp 0x19f5c21
mov esi, dword [ebp - 0x64]
add esi, 0xfffffff0
jmp 0x19f5c33
push 0
mov esi, dword [ebp - 0x64]
movzx eax, word [esi]
push eax
push 0
mov edx, dword [ebp - 0x60]
shr edx, 0x12
and edx, 0xfff
mov ecx, edi
call fcn.01a81336
mov ecx, dword [ebp - 0xc0]
mov word [ecx + 2], ax
jmp 0x19f5c6a
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x19c], eax
test eax, 0x800
je 0x19f5c67
push 0
mov esi, dword [ebp - 0x64]
movzx eax, word [esi]
push eax
push 0
mov eax, dword [ebp - 0x60]
shr eax, 0x12
movzx edx, al
mov ecx, edi
call fcn.01a81336
mov byte [ebx], al
jmp 0x19f5c6a
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x19f5a24
push 9
push dword [ebp + 0xc]
mov edx, dword [ebp - 0x30]
mov ecx, edi
call fcn.01a92d69
jmp 0x19f5a24
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x19f5a49
call fcn.019f1a00
test eax, eax
jne 0x1a4785f
mov eax, 0x7ffe0380
movzx eax, byte [eax]
push eax
mov eax, dword [edi + 0x74]
shl eax, 3
push eax
push dword [ebp + 0xc]
mov edx, dword [ebp - 0x30]
mov ecx, edi
call fcn.01a92f61
jmp 0x19f5a49
call fcn.019f1a00
test eax, eax
jne 0x1a47895
mov eax, 0x7ffe038a
movzx eax, byte [eax]
push eax
mov eax, dword [edi + 0x74]
shl eax, 3
push eax
push dword [ebp + 0xc]
mov edx, dword [ebp - 0x30]
mov ecx, edi
call fcn.01a92f61
jmp 0x19f5a6e
push 1
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x10]
shr eax, 3
push eax
push 0
mov eax, dword [ebp - 0x60]
shr eax, 0x12
movzx edx, al
mov ecx, edi
call fcn.01a81336
mov ecx, dword [ebp - 0x30]
mov word [ecx + 0xa], ax
jmp 0x19f5a95
cmp dword [eax], 0
je 0x19f5370
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x22e
jmp 0x19f5375
cmp dword [edi + 0xd4], 0
jne 0x19f4a99
jmp 0x19f5e3d
mov byte [ebp - 0x4c], 0
cmp dword [ebp - 0x74], 0
je 0x1a477c4
mov byte [ebp - 0x7b], 0
mov eax, dword fs:[0x18]
mov dword [eax + 0xbf4], 0xc000003c
mov esi, dword fs:[0x18]
mov dword [ebp - 0x194], esi
push 0xc000003c
call fcn.01a062b0
mov dword [esi + 0x34], eax
jmp 0x19f5353
xor eax, eax
jmp 0x19f5383
mov ecx, 1
jmp 0x19f5b93
mov eax, 0x10
jmp 0x19f5baa
mov eax, 1
jmp 0x19f5ccc
mov byte [ebp - 0x79], 0
mov eax, dword fs:[0x18]
mov dword [eax + 0xbf4], 0xc0000194
mov esi, dword fs:[0x18]
mov dword [ebp - 0x1ac], esi
push 0xc0000194
call fcn.01a062b0
mov dword [esi + 0x34], eax
jmp 0x19f5353
push ecx
mov edx, ebx
mov ecx, edi
call fcn.01a915a8
jmp 0x19f55ef
lea edx, [eax - 1]
jmp 0x19f563b
add eax, eax
jmp 0x19f565c
push 0
push 0
push 0
push edx
mov edx, edi
mov ecx, 3
call fcn.01a36033
jmp 0x19f56e1
mov eax, dword [esi]
cmp eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x44]
je 0x1a47201
mov dword [ecx], eax
jmp 0x19f5728
mov dword [ecx], 0
jmp 0x19f570b
push 1
movzx eax, word [ebx]
push eax
mov edx, ebx
mov ecx, edi
call fcn.019df188
jmp 0x1a4722e
push 0
push eax
push ecx
push esi
mov edx, edi
mov ecx, 0xc
call fcn.01a36033
mov byte [ebp - 0x49], 0
mov eax, dword fs:[0x18]
mov dword [eax + 0xbf4], 0xc0000017
mov esi, dword fs:[0x18]
mov dword [ebp - 0x16c], esi
push 0xc0000017
call fcn.01a062b0
mov dword [esi + 0x34], eax
jmp 0x19f5353
push 0
push 0
push 0
push dword [ebp - 0x40]
mov edx, edi
mov ecx, 3
call fcn.01a36033
mov edx, dword [ebp - 0x6c]
jmp 0x19f4b24
push 0
push 0
push 0
push dword [ebp - 0x40]
mov edx, edi
mov ecx, 3
call fcn.01a36033
mov edx, dword [ebp - 0x6c]
jmp 0x19f4b78
add ebx, ebx
jmp 0x19f508c
push 0
push 0
push 0
push dword [ebp - 0x40]
mov edx, edi
mov ecx, 3
call fcn.01a36033
mov edx, dword [ebp - 0x74]
jmp 0x19f50d4
add eax, eax
jmp 0x19f4c21
push ecx
mov edx, ebx
mov ecx, edi
call fcn.01a915a8
jmp 0x19f4c63
lea eax, [esi + esi]
jmp 0x19f4cde
push 0
push 0
push 0
push dword [ebp - 0x40]
mov edx, edi
mov ecx, 3
call fcn.01a36033
mov edx, dword [ebp - 0x6c]
jmp 0x19f4d7c
push 1
movzx eax, word [ebx]
push eax
mov edx, ebx
mov ecx, edi
call fcn.019df188
mov byte [ebp - 0x4a], 0
jmp 0x19f5353
push 0
push ecx
push esi
push edx
mov edx, edi
mov ecx, 0xc
call fcn.01a36033
mov byte [ebp - 0x4a], 0
jmp 0x19f5353
movzx ecx, byte [ebx + 2]
movzx eax, byte [ebx + 1]
xor ecx, eax
movzx eax, byte [ebx]
xor ecx, eax
mov byte [ebx + 3], cl
mov eax, dword [edi + 0x50]
xor dword [ebx], eax
jmp 0x19f5815
mov edx, ebx
mov ecx, edi
call fcn.019edfaf
test al, al
jne 0x19f58ad
push 1
movzx eax, word [ebx]
push eax
mov edx, ebx
mov ecx, edi
call fcn.019df188
mov byte [ebp - 0x4d], 0
jmp 0x19f5353
movzx eax, word [ebx]
lea esi, [eax*8 - 0x10]
mov dword [ebp - 0xf0], esi
test cl, 2
je 0x1a47394
cmp esi, 4
jbe 0x1a47394
sub esi, 4
mov dword [ebp - 0xf0], esi
push 0xfeeefeee
push esi
lea eax, [ebx + 0x10]
push eax
call fcn.01a365b0
mov dword [ebp - 0x1c], eax
cmp eax, esi
je 0x19f4ded
mov ecx, dword fs:[0x30]
cmp dword [ecx + 0xc], 0
je 0x1a473db
mov ecx, dword fs:[0x30]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + 0xc]
add eax, 0x2c
push eax
push 0x19b4db0
call fcn.019dafb0
add esp, 8
jmp 0x1a473e8
push 0x19b4dbc
call fcn.019dafb0
add esp, 4
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x1c]
add eax, 0x10
add eax, ecx
push eax
push ecx
push 0x19b7588
call fcn.019dafb0
add esp, 0xc
mov eax, dword fs:[0x30]
cmp byte [eax + 2], 0
je 0x1a4742b
mov byte [0x1ac6255], 1
mov ebx, dword [ebp - 0x68]
mov dword [0x1ac60a0], ebx
int3
mov ebx, dword [ebp - 0x68]
jmp 0x19f4ded
mov dword [ebx + ecx*8 - 4], eax
mov byte [ebx + 7], 0x3f
jmp 0x19f4e32
mov dword [ebx + ecx*8 + 4], eax
mov byte [ebx + 7], 0x3f
jmp 0x19f5253
push 0
push 0
push ecx
push ebx
mov edx, dword [ecx + 0x18]
mov ecx, 3
call fcn.01a36033
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x80]
jmp 0x19f4e9d
push 0
push 0
push 0
push dword [ebp - 0x1c]
mov edx, edi
mov ecx, 3
call fcn.01a36033
mov edx, dword [ebp - 0x3c]
jmp 0x19f4f77
push 0
push 0
push 0
push dword [ebp - 0x1c]
mov edx, edi
mov ecx, 3
call fcn.01a36033
mov edx, dword [ebp - 0x34]
jmp 0x19f4fcd
mov eax, dword [ebp - 0x28]
add eax, eax
mov dword [ebp - 0x28], eax
jmp 0x19f5456
push 0
push 0
push 0
push dword [ebp - 0x1c]
mov edx, edi
mov ecx, 3
call fcn.01a36033
mov edx, dword [ebp - 0x34]
jmp 0x19f549f
add edx, edx
jmp 0x19f5127
mov esi, dword [eax]
jmp 0x19f5140
mov cx, word [esi - 8]
jmp 0x19f5165
mov esi, dword [esi]
lea eax, [edi + 0xc0]
jmp 0x19f5140
push 0
push ecx
push 0
push esi
xor edx, edx
lea ecx, [edx + 0xc]
call fcn.01a36033
jmp 0x19f5191
lea eax, [esi + esi]
mov dword [ebp - 0x20], eax
jmp 0x19f51dc
push 0
push 0
push 0
push dword [ebp - 0x1c]
mov edx, edi
mov ecx, 3
call fcn.01a36033
lea edx, [ebx + 8]
jmp 0x19f55a0
push 0xfeeefeee
lea eax, [esi*8 - 0x10]
push eax
lea eax, [ebx + 0x10]
push eax
call fcn.01a36650
or byte [ebx + 2], 4
jmp 0x19f5d49
mov edx, dword [eax]
jmp 0x19f5d70
mov cx, word [edx - 8]
jmp 0x19f5d8f
mov edx, dword [edx]
lea eax, [edi + 0xc0]
jmp 0x19f5d70
push 0
push ecx
push 0
push edx
xor edx, edx
lea ecx, [edx + 0xc]
call fcn.01a36033
jmp 0x19f5dbb
push ecx
mov ecx, edi
call fcn.01a915a8
lea edx, [ebx + esi*8]
jmp 0x19f5ee3
mov ecx, edi
call fcn.019edfaf
test al, al
jne 0x1a475b3
push 1
lea ecx, [ebx + esi*8]
movzx eax, word [ecx]
push eax
mov edx, ecx
mov ecx, edi
call fcn.019df188
jmp 0x19f6360
lea edx, [ebx + esi*8]
jmp 0x19f5f73
mov al, byte [edx + 2]
mov byte [ebp - 0x35], al
test al, 4
je 0x19f5f82
movzx eax, word [edx]
lea eax, [eax*8 - 0x10]
mov dword [ebp - 0xb8], eax
test byte [ebp - 0x35], 2
je 0x1a475ed
cmp eax, 4
jbe 0x1a475ed
sub eax, 4
mov dword [ebp - 0xb8], eax
push 0xfeeefeee
push eax
lea eax, [edx + 0x10]
push eax
call fcn.01a365b0
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0xb8]
je 0x1a47681
mov ecx, dword fs:[0x30]
cmp dword [ecx + 0xc], 0
je 0x1a47634
mov ecx, dword fs:[0x30]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + 0xc]
add eax, 0x2c
push eax
push 0x19b4db0
call fcn.019dafb0
add esp, 8
jmp 0x1a47641
push 0x19b4dbc
call fcn.019dafb0
add esp, 4
lea ecx, [ebx + esi*8]
mov eax, dword [ebp - 0x1c]
add eax, 0x10
add eax, ecx
push eax
push ecx
push 0x19b7588
call fcn.019dafb0
add esp, 0xc
mov eax, dword fs:[0x30]
lea edx, [ebx + esi*8]
cmp byte [eax + 2], 0
je 0x1a47684
mov byte [0x1ac6255], 1
mov dword [0x1ac60a0], edx
int3
lea edx, [ebx + esi*8]
mov ecx, dword [ebp - 0x80]
jmp 0x19f5f82
mov ecx, dword [esi]
jmp 0x19f5fe0
mov dx, word [ecx - 8]
jmp 0x19f60ee
mov ecx, dword [ecx]
jmp 0x19f5fe0
push 0
push edx
push 0
push ecx
xor edx, edx
lea ecx, [edx + 0xc]
call fcn.01a36033
jmp 0x19f6002
movzx esi, si
and byte [ebx + 2], 0xf0
mov byte [ebx + 7], 0
test byte [edi + 0x40], 0x40
je 0x1a476e3
push 0xfeeefeee
lea eax, [esi*8 - 0x10]
push eax
lea eax, [ebx + 0x10]
push eax
call fcn.01a36650
or byte [ebx + 2], 4
lea eax, [edi + 0xc0]
cmp dword [edi + 0xb4], 0
je 0x1a47705
mov edx, esi
mov ecx, edi
call fcn.019de9b4
mov ecx, eax
lea eax, [edi + 0xc0]
jmp 0x1a47707
mov ecx, dword [eax]
cmp eax, ecx
je 0x1a47740
cmp dword [edi + 0x4c], 0
je 0x1a47724
mov edx, dword [ecx - 8]
mov dword [ebp - 0x48], edx
test dword [edi + 0x4c], edx
je 0x1a47728
xor edx, dword [edi + 0x50]
mov dword [ebp - 0x48], edx
jmp 0x1a47728
mov dx, word [ecx - 8]
mov word [ebp - 0xa2], dx
movzx eax, dx
cmp esi, eax
jbe 0x1a47740
mov ecx, dword [ecx]
lea eax, [edi + 0xc0]
jmp 0x1a47707
lea esi, [ebx + 8]
mov eax, dword [ecx + 4]
mov edx, dword [eax]
cmp edx, ecx
jne 0x1a47758
mov dword [esi], ecx
mov dword [esi + 4], eax
mov dword [eax], esi
mov dword [ecx + 4], esi
jmp 0x1a47768
push 0
push edx
push 0
push ecx
xor edx, edx
lea ecx, [edx + 0xc]
call fcn.01a36033
movzx eax, word [ebx]
add dword [edi + 0x74], eax
mov edx, dword [edi + 0xb4]
test edx, edx
je 0x19f522e
movzx ecx, word [ebx]
cmp ecx, dword [edx + 4]
jb 0x1a4778e
mov eax, dword [edx]
test eax, eax
jne 0x1a47799
mov ecx, dword [edx + 4]
dec ecx
mov dword [ebp - 0x10c], ecx
jmp 0x19f5ddf
mov edx, eax
jmp 0x1a4777f
push esi
mov edx, ebx
mov ecx, edi
call fcn.019df6d0
jmp 0x19f524b
push 0
push eax
push dword [ebp - 0x1c]
push ecx
mov edx, edi
mov ecx, 0xc
call fcn.01a36033
jmp 0x19f6360
mov dword [ebp - 0x74], 1
mov edx, dword [ebp - 0x80]
jmp 0x19f4eb0
push esi
call fcn.01a73e80
mov edx, dword [ebp - 0x44]
jmp 0x19f6057
mov edx, eax
mov dword [ebp - 0x44], edx
jmp 0x19f6057
mov ecx, 1
call fcn.019e058b
mov word [esi], ax
jmp 0x19f5c4d
push 0
push eax
push dword [ebp - 0x3c]
push edx
mov edx, edi
mov ecx, 0xc
call fcn.01a36033
mov byte [ebp - 0x4d], 0
jmp 0x19f5353
mov eax, dword [eax]
mov dword [ebp - 0x110], eax
test eax, eax
je 0x19f5a16
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x19f5a1b
mov eax, dword [eax]
mov dword [ebp - 0x114], eax
test eax, eax
je 0x19f5a3b
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x19f5a40
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x19f6293
mov eax, dword [eax]
mov dword [ebp - 0x118], eax
test eax, eax
je 0x19f5a60
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x230
jmp 0x19f5a65
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x230
jmp 0x19f62c2
mov ecx, 1
call fcn.019e058b
mov word [ebp - 0xe2], ax
mov ecx, dword [ebp - 0x30]
mov word [ecx + 8], ax
jmp 0x19f5a7b
push 0
push esi
push 0
push eax
xor edx, edx
lea ecx, [edx + 0xc]
call fcn.01a36033
jmp 0x19f5ad7
mov dword [ebp - 0x30], 0
inc dword [edi + 0x214]
jmp 0x19f5eb1
mov dword [ebp - 0x94], 0xc0000023
jmp 0x19f5eb1