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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x7751f900
push 0x7749a000
mov eax, dword fs:[0]
push eax
sub esp, 0x1a8
push ebx
push esi
push edi
mov eax, dword [0x7753d344]
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 0x77465b52
cmp esi, 0x80000000
jae 0x77465b52
mov dl, 1
mov dword [ebp - 0x34], edx
mov ecx, ebx
mov dword [ebp - 0x24], ecx
cmp ecx, 2
jb 0x77466120
mov eax, dword [ebp + 0x14]
mov dword [eax], 3
mov eax, dword [ebp - 0x60]
mov esi, eax
and esi, 0x800000
jne 0x7746577d
mov dword [ebp - 4], 0
test al, 1
jne 0x774649f9
mov ecx, dword [edi + 0xc8]
mov edx, dword fs:[0x18]
lea eax, [ecx + 4]
lock btr dword [eax], 0
jae 0x77465ca7
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 0x77465e1d
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [edi + 0x5c]
ja 0x7746590e
test esi, esi
jne 0x77464a9c
movzx eax, word [edi + 0xe0]
cmp ebx, eax
mov eax, dword [ebp + 8]
jae 0x774657c1
cmp eax, dword [0x7753585c]
ja 0x77464a9c
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 0x77465904
xor eax, eax
test al, al
jne 0x77464a99
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 0x77465aef
mov al, cl
and al, 0x1f
cmp al, 0x10
ja 0x77465ae5
mov eax, 0xff00
cmp cx, ax
ja 0x77465ae5
mov dword [ebp - 0xe8], 0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x77464aad
mov ebx, dword [eax]
test ebx, ebx
jne 0x774655cd
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 0x77465429
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 0x77465dfd
lea eax, [ecx - 8]
mov dword [ebp - 0x40], eax
mov edx, dword [eax]
mov dword [ebp - 0x148], edx
cmp dword [edi + 0x4c], esi
je 0x77464b24
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 0x774b7261
movzx eax, dx
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov dword [ebp - 0x170], ecx
test ecx, ecx
jg 0x774658bd
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 0x77464b78
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 0x774b727e
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 0x77465746
cmp dword [edx], esi
je 0x77465073
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 0x77464be3
cmp eax, esi
ja 0x774653b9
add edx, 4
mov ebx, dword [edx]
inc eax
jmp 0x77464bc3
test bx, bx
jne 0x774653d1
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
test ecx, ecx
jne 0x774654e9
shr ebx, 0x18
movzx ecx, byte [ebx + 0x77428c10]
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 0x774b72bf
mov ecx, dword [edx + 0x20]
mov esi, dword [ecx + eax*4]
test esi, esi
je 0x774653c4
mov dword [ebp - 0x178], esi
cmp dword [ebp - 0xd8], esi
je 0x77465815
lea ebx, [esi - 8]
mov dword [ebp - 0x68], ebx
cmp dword [edi + 0x4c], 0
je 0x77464c63
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 0x774b72c6
movzx eax, word [ebx]
cmp eax, dword [ebp - 0x24]
jb 0x7746580b
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 0x774b7312
cmp ecx, edx
jne 0x774b7312
sub dword [edi + 0x74], eax
mov ecx, dword [edi + 0xb4]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x77464dc1
movzx edx, word [ebx]
lea esp, [esp]
mov eax, dword [ecx + 4]
cmp edx, eax
jae 0x77465048
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 0x774b72d5
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 0x774654d9
lea eax, [ebx + 8]
cmp dword [ebp - 0x40], eax
jne 0x77464dc1
mov esi, dword [ecx + 4]
mov dword [ebp - 0xe0], esi
cmp dword [ecx], 0
mov esi, dword [ebp - 0x20]
jne 0x77464d31
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 0x7746551a
mov edx, dword [eax]
mov dword [ebp - 0x6c], edx
cmp edx, dword [ecx + 0x18]
je 0x77464d99
lea eax, [edx - 8]
mov dword [ebp - 0x40], eax
mov ebx, dword [eax]
mov dword [ebp - 0x130], ebx
cmp dword [edi + 0x4c], 0
je 0x77464d7f
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 0x774b72dd
mov ecx, dword [ebp - 0x28]
movzx eax, bx
mov ebx, dword [ebp - 0x9c]
sub ebx, eax
mov dword [ebp - 0x17c], ebx
je 0x774657f3
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 0x77465c91
mov byte [ebp - 0x4a], 1
mov cl, byte [ebx + 2]
mov byte [ebp - 0x4b], cl
cmp dword [ebp - 0x84], 0
je 0x77465b44
mov dword [ebp - 0x64], ebx
test byte [ebx + 2], 1
jne 0x77466155
xor eax, eax
test al, al
jne 0x7746615f
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 0x774b7433
mov byte [ebx + 7], al
mov byte [ebx + 3], 0
test esi, esi
je 0x77465253
cmp esi, 1
je 0x774658c8
cmp dword [ebp - 0x84], 0
je 0x77465df3
xor edx, edx
mov dword [ebp - 0x80], edx
mov al, byte [ebx + 6]
test al, al
jne 0x774653e8
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 0x77465403
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 0x7746603a
mov eax, 1
test al, al
je 0x77465ec4
mov ax, word [edi + 0x54]
xor ax, si
mov word [ebx + esi*8 + 4], ax
test dl, dl
jne 0x77465d34
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 0x774b74d6
mov eax, dword [ecx + 4]
cmp edx, eax
jae 0x7746505c
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 0x7746579e
lea eax, [edx - 8]
mov dword [ebp - 0x1c], eax
mov edx, dword [eax]
mov dword [ebp - 0x160], edx
cmp dword [edi + 0x4c], esi
je 0x77464f77
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 0x774b746b
movzx eax, dx
mov edx, dword [ebp - 0x20]
mov ecx, edx
sub ecx, eax
mov dword [ebp - 0x184], ecx
test ecx, ecx
jg 0x774653ae
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 0x77464fd0
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 0x774b7488
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 0x774657ba
cmp dword [ecx], esi
je 0x7746543d
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 0x774650f4
cmp edx, esi
ja 0x77465765
add eax, 4
mov ecx, dword [eax]
inc edx
jmp 0x77465024
mov esi, dword [ecx]
test esi, esi
je 0x774654e1
mov ecx, esi
mov dword [ebp - 0x28], ecx
jmp 0x77464cb0
mov edx, dword [ecx]
test edx, edx
je 0x77465550
mov ecx, edx
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x20]
jmp 0x77464f12
mov eax, dword [edx + 4]
dec eax
cmp dword [ebp - 0x90], eax
jne 0x77464b99
cmp dword [edx + 8], esi
jne 0x774b729b
mov eax, dword [edx + 0x20]
mov edx, dword [eax + ebx*4]
mov dword [ebp - 0x74], edx
cmp dword [ebp - 0x28], edx
je 0x774658c0
lea eax, [edx - 8]
mov dword [ebp - 0x40], eax
mov ebx, dword [eax]
mov dword [ebp - 0x158], ebx
cmp dword [edi + 0x4c], esi
je 0x774650d4
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 0x774b72a2
movzx eax, bx
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov dword [ebp - 0x1a0], ecx
test ecx, ecx
jg 0x774658b6
mov esi, edx
mov edx, dword [ebp - 0x20]
jmp 0x77464c27
test cx, cx
je 0x774654f8
movzx eax, cl
test cl, cl
je 0x77465750
movzx eax, byte [eax + 0x77428c10]
shl edx, 5
add edx, eax
mov dword [ebp - 0xb4], edx
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 8], 0
jne 0x774b74cf
mov eax, dword [ecx + 0x20]
mov esi, dword [eax + edx*4]
mov edx, dword [ebp - 0x20]
test esi, esi
je 0x77465770
lea eax, [edi + 0xc0]
mov edi, edi
cmp eax, esi
je 0x77465177
cmp dword [edi + 0x4c], 0
je 0x774b74dd
mov ecx, dword [esi - 8]
mov dword [ebp - 0xa0], ecx
test dword [edi + 0x4c], ecx
je 0x77465165
xor ecx, dword [edi + 0x50]
mov dword [ebp - 0xa0], ecx
mov word [ebp - 0x86], cx
movzx eax, cx
cmp edx, eax
ja 0x774b74e6
lea edx, [ebx + 8]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
cmp ecx, esi
jne 0x774b74f3
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 0x7746522e
movzx eax, word [ebx]
mov dword [ebp - 0x54], eax
mov edi, edi
mov esi, dword [ecx + 4]
cmp eax, esi
jae 0x77465397
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 0x774b7508
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 0x77465548
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x77465561
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [eax + ecx*4], edx
cmp dword [ebp - 0x74], 0
jne 0x7746522e
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 0x7746524b
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 0x77466177
xor eax, eax
test al, al
jne 0x77466181
cmp dword [ebp - 0x84], 0
je 0x77465be0
cmp dword [edi + 0x4c], 0
je 0x774652ae
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 0x77465349
test dword [edi + 0x44], 0x1000000
jne 0x77465315
inc dword [edi + 0x21c]
mov edx, dword [edi + 0x224]
cmp dword [edi + 0x21c], edx
jbe 0x774652ff
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 0x774655c2
mov dword [edi + 0x23c], ecx
inc dword [edi + 0x228]
cmp dword [edi + 0x228], 0x1000
jae 0x77465e4e
mov esi, dword [edi + 0xc8]
add dword [esi + 8], 0xffffffff
jne 0x77465345
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 0x7746604d
mov byte [ebp - 0x29], 0
test byte [ebp - 0x60], 8
jne 0x774654c3
mov dword [ebp - 4], 0xfffffffe
call fcn.77466325
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x77466309
mov eax, 0x7ffe0388
mov esi, dword [ebp - 0x5c]
cmp byte [eax], 0
jne 0x7746608c
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 0x77465556
mov ecx, edx
mov dword [ebp - 0x28], ecx
jmp 0x774651b0
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x24]
jmp 0x77465130
test ebx, ebx
jne 0x77464be3
mov edx, dword [ebp - 0x20]
mov edx, dword [edx]
mov dword [ebp - 0x20], edx
mov ebx, dword [edx + 0x14]
jmp 0x77464acf
movzx ecx, bl
test bl, bl
je 0x77465533
movzx ecx, byte [ecx + 0x77428c10]
jmp 0x77464c09
movzx eax, al
mov ecx, 1
sub ecx, eax
shl ecx, 0x10
mov eax, ebx
and eax, 0xffff0000
add ecx, eax
jmp 0x77464e66
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 0x774b744d
cmp eax, 0xfe
jl 0x77464e9d
jmp 0x774b744d
mov eax, dword [edx]
test eax, eax
je 0x774657b4
mov edx, eax
mov dword [ebp - 0x20], eax
jmp 0x77464ac2
mov eax, dword [ecx + 4]
dec eax
cmp dword [ebp - 0x8c], eax
jne 0x77464ff1
cmp dword [ecx + 8], esi
jne 0x774b74a5
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 0x774654bb
add eax, 0xfffffff8
mov dword [ebp - 0x1c], eax
mov ecx, dword [eax]
mov dword [ebp - 0x140], ecx
cmp dword [edi + 0x4c], esi
je 0x774654a2
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 0x774b74b2
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 0x77465d2a
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x24]
jmp 0x7746512d
lea eax, [ebx - 8]
push eax
push 0
push dword [ebp - 0x5c]
call fcn.77498e60
add esp, 0xc
jmp 0x77465353
dec dword [ecx + 0x10]
jmp 0x77464d04
lea edx, [eax - 1]
jmp 0x77464cbb
movzx ecx, byte [ecx + 0x77428c10]
add ecx, 0x10
jmp 0x77464c09
mov eax, ecx
shr eax, 0x10
movzx eax, al
test eax, eax
jne 0x774657a5
shr ecx, 0x18
movzx eax, byte [ecx + 0x77428c10]
add eax, 0x18
jmp 0x7746510f
mov eax, dword [eax]
cmp eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x54]
jne 0x77465804
mov dword [ecx], 0
jmp 0x77464da6
shr ebx, 8
movzx ecx, bl
movzx ecx, byte [ecx + 0x77428c10]
add ecx, 8
jmp 0x77464c09
inc dword [ecx + 0x10]
jmp 0x774651fb
dec eax
jmp 0x77464f1f
lea eax, [esi - 1]
mov dword [ebp - 0x54], eax
jmp 0x774651bb
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 0x774655a6
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 0x774b7513
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 0x77465206
jmp 0x7746520f
mov dword [edi + 0x238], ecx
jmp 0x774652f9
add ebx, 0xfffffff8
mov dword [ebp - 0x68], ebx
cmp dword [edi + 0x4c], 0
je 0x774655ef
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 0x774b71ba
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 0x774b721d
cmp eax, esi
jne 0x774b721d
movzx eax, word [ebx]
sub dword [edi + 0x74], eax
mov ecx, dword [edi + 0xb4]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x77465728
movzx edx, word [ebx]
lea esp, [esp]
mov eax, dword [ecx + 4]
cmp edx, eax
jae 0x77465cfa
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 0x774b71d1
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 0x7746614d
cmp dword [ebp - 0x54], esi
jne 0x77465728
mov eax, dword [ecx + 4]
mov dword [ebp - 0xd0], eax
cmp dword [ecx], 0
je 0x774658e7
cmp edx, eax
jae 0x774b71f0
mov esi, dword [esi]
cmp esi, dword [ecx + 0x18]
je 0x774656fe
lea edx, [esi - 8]
mov ebx, dword [edx]
mov dword [ebp - 0x128], ebx
cmp dword [edi + 0x4c], 0
je 0x774656e4
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 0x774b71d8
mov ecx, dword [ebp - 0x20]
movzx eax, bx
mov edx, dword [ebp - 0x9c]
sub edx, eax
mov dword [ebp - 0x1b4], edx
je 0x774658f3
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 0x77465e91
mov byte [ebp - 0x49], 1
jmp 0x77464dda
mov eax, dword [ebp - 0x28]
mov esi, dword [eax]
jmp 0x77464c27
shr ecx, 8
movzx eax, cl
movzx eax, byte [eax + 0x77428c10]
add eax, 8
jmp 0x7746510f
test ecx, ecx
jne 0x774650f4
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
mov dword [ebp - 0x24], ecx
mov eax, dword [ecx + 0x14]
jmp 0x77464f1f
mov eax, dword fs:[0x30]
test dword [eax + 0x68], 0x800
mov eax, dword [ebp - 0x60]
jne 0x7746499e
or edx, 8
mov dword [ebp - 0x34], edx
jmp 0x7746499e
mov esi, eax
jmp 0x7746512d
movzx eax, byte [eax + 0x77428c10]
add eax, 0x10
jmp 0x7746510f
dec ebx
jmp 0x77464acf
mov esi, dword [edx]
jmp 0x7746512d
cmp eax, dword [0x7753585c]
ja 0x77464a9c
cmp byte [edi + 0xda], 2
je 0x774660c1
cmp byte [edi + 0xdb], 2
jne 0x77464a9c
or dword [edi + 0x48], 0x20000000
jmp 0x77464a9c
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + eax], edx
mov ebx, dword [ebp - 0x68]
jmp 0x77464dc1
mov dword [ecx], eax
jmp 0x77464dc1
cmp dword [edi + 0x4c], 0
jne 0x774b732c
mov edx, dword [ebp + 0xc]
mov ecx, edi
call fcn.7744e9f6
mov ebx, eax
mov dword [ebp - 0x68], ebx
test ebx, ebx
je 0x77465ea7
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 0x774b77fd
cmp eax, edx
jne 0x774b77fd
movzx eax, word [ebx]
sub dword [edi + 0x74], eax
mov edx, dword [edi + 0xb4]
test edx, edx
je 0x7746589e
movzx ecx, word [ebx]
mov eax, dword [edx + 4]
cmp ecx, eax
jb 0x77465883
mov esi, dword [edx]
mov dword [ebp - 0x3c], esi
test esi, esi
mov esi, dword [ebp - 0x1c]
je 0x77465880
mov edx, dword [ebp - 0x3c]
jmp 0x77465868
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.77450895
mov ecx, dword [ebp - 0x54]
mov dword [ecx], esi
mov dword [esi + 4], ecx
test byte [ebx + 2], 8
jne 0x774b7348
mov byte [ebp - 0x4d], 1
jmp 0x77464dda
mov edx, dword [edx]
jmp 0x77465092
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
jmp 0x77464c27
inc word [ebx]
mov eax, dword [ebp + 0xc]
sub eax, edx
add eax, 8
mov dword [ebp - 0x40], eax
cmp eax, 0x3f
jae 0x774b7440
mov byte [ebx + 7], al
jmp 0x77465253
dec eax
mov dword [ebp - 0xd0], eax
jmp 0x7746569d
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x28]
mov dword [ecx + eax], esi
mov ebx, dword [ebp - 0x68]
jmp 0x77465728
mov eax, 1
jmp 0x77464a4e
test byte [edi + 0x40], 2
je 0x774b78ec
mov ebx, dword [ebp + 0xc]
add ebx, 0x18
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0xc], ebx
call fcn.7744dc04
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.7744f147
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.77492ac0
mov dword [ebp - 0x94], eax
test eax, eax
js 0x77465353
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.77492ac0
mov dword [ebp - 0x94], eax
test eax, eax
js 0x774b78da
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 0x774b7819
mov dword [ebp - 0x110], eax
mov eax, 0x7ffe0380
cmp byte [eax], 0
jne 0x77466247
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x774b783c
mov dword [ebp - 0x114], eax
mov eax, 0x7ffe0380
cmp byte [eax], 0
jne 0x7746626e
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x774b7872
mov dword [ebp - 0x118], eax
mov eax, 0x7ffe038a
cmp byte [eax], 0
jne 0x774662b0
test dword [edi + 0x40], 0x8000000
jne 0x774b78a8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x1a8], eax
test eax, 0x800
jne 0x774662df
mov edx, dword [ebp - 0x30]
cmp dword [edi + 0x4c], 0
je 0x77465aba
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 0x774b78c5
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 0x77465353
mov dword [ebp - 0xe8], 1
mov eax, dword [ebp + 8]
test eax, eax
je 0x77466143
mov edx, eax
cmp byte [edi + 0xda], 2
jne 0x77465e29
mov ecx, dword [edi + 0xd4]
call fcn.7744c816
movzx eax, ax
mov ecx, 0xffff
cmp ax, cx
je 0x77465e30
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 0x77464a99
test cl, 4
je 0x77464ded
jmp 0x774b7371
mov dword [ebp - 0x84], 0
mov eax, dword [ebp + 0x14]
mov dword [eax], 4
cmp esi, 0x7fffffff
ja 0x774b7162
test edx, 0x61000000
setne cl
bt edx, 0x1c
setae al
test al, cl
jne 0x774660b4
test esi, esi
je 0x774b7169
mov ecx, esi
mov eax, dword [edi + 0x94]
add eax, ecx
and eax, dword [edi + 0x98]
cmp eax, 0x10
jb 0x774b7173
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 0x77466131
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 0x7746498d
test byte [ebp - 0x60], 8
jne 0x77465d14
test byte [edi + 0x40], 0x40
jne 0x7746618f
test byte [edi + 0x40], 0x20
jne 0x774661a8
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 0x7746620b
cmp byte [esi], 4
je 0x774661c9
xor eax, eax
test al, al
jne 0x774661d3
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 0x774b77eb
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x198], eax
test eax, 0x800
jne 0x774661de
mov esi, dword [ebp - 0x64]
cmp dword [edi + 0x4c], 0
je 0x77465353
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 0x77465353
mov edx, ebx
mov ecx, edi
call fcn.7745dfaf
test al, al
jne 0x77464dd6
jmp 0x774b72fa
mov eax, dword [ecx + 0xc]
cmp eax, dword [edx + 0x24]
je 0x77465e04
mov dword [ebp - 0xa8], 0
cmp byte [0x77537c28], 0
jne 0x774b717d
xor eax, eax
test al, al
jne 0x774b7187
mov dword [ebp - 0xac], 1
push dword [edi + 0xc8]
call fcn.7746be50
mov edx, 1
mov ecx, edi
call fcn.77487a5c
jmp 0x774649e1
mov esi, dword [ecx]
mov dword [ebp - 0x9c], esi
test esi, esi
je 0x774b71c9
mov ecx, esi
mov dword [ebp - 0x20], ecx
jmp 0x77465630
lea eax, [ebx - 8]
push eax
push 0
push dword [ebp - 0x5c]
call fcn.77498e60
add esp, 0xc
jmp 0x77465bf4
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
jmp 0x7746545f
movzx esi, si
and byte [ebx + 2], 0xf0
mov byte [ebx + 7], 0
test byte [edi + 0x40], 0x40
jne 0x774b7530
lea eax, [edi + 0xc0]
cmp dword [edi + 0xb4], 0
je 0x774b754f
mov edx, esi
mov ecx, edi
call fcn.7744e9b4
mov edx, eax
lea eax, [edi + 0xc0]
lea ecx, [ecx]
cmp eax, edx
je 0x77465da1
cmp dword [edi + 0x4c], 0
je 0x774b7556
mov ecx, dword [edx - 8]
mov dword [ebp - 0x58], ecx
test dword [edi + 0x4c], ecx
je 0x77465d8f
xor ecx, dword [edi + 0x50]
mov dword [ebp - 0x58], ecx
mov word [ebp - 0x96], cx
movzx eax, cx
cmp esi, eax
ja 0x774b755f
lea esi, [ebx + 8]
mov eax, dword [edx + 4]
mov ecx, dword [eax]
cmp ecx, edx
jne 0x774b756c
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 0x7746522e
movzx ecx, word [ebx]
mov eax, dword [edx + 4]
cmp ecx, eax
jae 0x77465e0c
mov dword [ebp - 0x100], ecx
movzx eax, word [ebx]
push eax
push ecx
push esi
push 1
mov ecx, edi
call fcn.7744e8ff
jmp 0x7746522e
mov edx, 1
jmp 0x77464e56
mov esi, eax
jmp 0x77464c27
inc dword [ecx + 8]
jmp 0x774649d1
mov esi, dword [edx]
mov dword [ebp - 0x1c], esi
test esi, esi
lea esi, [ebx + 8]
je 0x77465e49
mov edx, dword [ebp - 0x1c]
jmp 0x77465dd2
mov ecx, edi
call fcn.774514fc
jmp 0x774649f6
xor ecx, ecx
jmp 0x77465b0f
cmp byte [edi + 0xda], 2
je 0x7746634e
or dword [edi + 0x48], 0x20000000
jmp 0x77464a99
lea ecx, [eax - 1]
jmp 0x77465dd9
cmp byte [edi + 0xda], 2
jne 0x77465ebd
cmp dword [edi + 0x22c], 0x10
jbe 0x77465ebd
mov ecx, 4
mov eax, 0x1000
sar eax, cl
cmp dword [edi + 0x220], eax
ja 0x77466106
mov dword [edi + 0x220], 0
mov dword [edi + 0x228], 0
jmp 0x77465315
mov edx, ebx
mov ecx, edi
call fcn.7745dfaf
test al, al
jne 0x7746573d
jmp 0x774b720c
mov dword [ebp - 0x94], 0xc0000017
mov dword [ebp - 0x5c], 0
jmp 0x77465353
mov ecx, 8
jmp 0x77465e65
lea edx, [ebx + esi*8]
cmp dword [edi + 0x4c], 0
je 0x77465ee3
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 0x774b7581
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 0x774b77ac
cmp eax, ecx
jne 0x774b77ac
movzx eax, word [edx]
sub dword [edi + 0x74], eax
mov ecx, dword [edi + 0xb4]
test ecx, ecx
je 0x77465f5e
movzx eax, word [edx]
mov dword [ebp - 0x44], eax
cmp eax, dword [ecx + 4]
jb 0x77465f3f
mov eax, dword [ecx]
mov dword [ebp - 0x1c], eax
test eax, eax
mov eax, dword [ebp - 0x44]
jne 0x77466041
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.77450895
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 0x774b7591
mov byte [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x80]
test cl, cl
jne 0x774b75bb
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 0x774b779d
mov word [ebx], si
mov ax, word [edi + 0x54]
xor ax, si
mov word [ebx + esi*8 + 4], ax
test cl, cl
jne 0x774b76b8
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 0x774b768c
mov edx, eax
mov ecx, edi
call fcn.7744e9b4
mov ecx, eax
lea ecx, [ecx]
cmp esi, ecx
jne 0x774660d3
lea esi, [ebx + 8]
mov eax, dword [ecx + 4]
mov edx, dword [eax]
cmp edx, ecx
jne 0x774b76a3
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 0x7746522e
movzx ecx, word [ebx]
lea esp, [esp]
cmp ecx, dword [edx + 4]
jb 0x7746602f
mov eax, dword [edx]
test eax, eax
jne 0x77466049
mov ecx, dword [edx + 4]
dec ecx
mov dword [ebp - 0x108], ecx
jmp 0x77465ddf
xor eax, eax
jmp 0x77464ed1
mov ecx, dword [ebp - 0x1c]
jmp 0x77465f23
mov edx, eax
jmp 0x77466020
test byte [esi + 4], 1
jne 0x774b77d3
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 0x774b77e1
test byte [ebp - 0x1c], 2
je 0x77465345
push esi
call fcn.7744c520
jmp 0x77465345
test esi, esi
je 0x77465381
mov edx, dword [ebp - 0x30]
test edx, edx
je 0x77465381
push dword [edx + 0x14]
and edx, 0xffff0000
mov ecx, edi
call fcn.77501a66
jmp 0x77465381
push esi
mov ecx, edi
call 0x77507459
jmp 0x77465383
cmp dword [edi + 0xd4], 0
jne 0x77464a9c
jmp 0x774657da
cmp dword [edi + 0x4c], 0
je 0x774b7693
mov edx, dword [ecx - 8]
mov dword [ebp - 0x78], edx
test dword [edi + 0x4c], edx
je 0x774660ee
xor edx, dword [edi + 0x50]
mov dword [ebp - 0x78], edx
mov word [ebp - 0x88], dx
movzx eax, dx
cmp dword [ebp - 0x1c], eax
jbe 0x77465fe8
jmp 0x774b769c
cmp edx, 0x10000
jae 0x77465e78
lea eax, [edx + edx]
mov dword [edi + 0x224], eax
jmp 0x77465e78
add dword [ebp + 0xc], 8
mov ecx, 2
mov dword [ebp - 0x24], ecx
jmp 0x77464984
cmp dword [edi + 0xbc], 0
je 0x77465bd2
jmp 0x77465bc6
mov edx, 1
jmp 0x77465afc
dec dword [ecx + 0x10]
jmp 0x77465682
mov eax, 1
jmp 0x77464dfc
push 0
push 0
push 0
push ebx
mov edx, edi
mov ecx, 3
call fcn.774a6033
jmp 0x77465353
mov eax, 1
jmp 0x77465279
sub ebx, 4
mov dword [ebp - 0xbc], ebx
jmp 0x77465281
push 0xbaadf00d
mov eax, dword [ebp + 8]
and eax, 0xfffffffc
push eax
push dword [ebp - 0x5c]
call fcn.774a6650
jmp 0x77465bf4
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 0x77465bfe
mov eax, 1
jmp 0x77465c21
mov esi, dword [ebp - 0x64]
add esi, 0xfffffff0
jmp 0x77465c33
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.774f1336
mov ecx, dword [ebp - 0xc0]
mov word [ecx + 2], ax
jmp 0x77465c6a
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x19c], eax
test eax, 0x800
je 0x77465c67
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.774f1336
mov byte [ebx], al
jmp 0x77465c6a
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x77465a24
push 9
push dword [ebp + 0xc]
mov edx, dword [ebp - 0x30]
mov ecx, edi
call fcn.77502d69
jmp 0x77465a24
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x77465a49
call fcn.77461a00
test eax, eax
jne 0x774b785f
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.77502f61
jmp 0x77465a49
call fcn.77461a00
test eax, eax
jne 0x774b7895
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.77502f61
jmp 0x77465a6e
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.774f1336
mov ecx, dword [ebp - 0x30]
mov word [ecx + 0xa], ax
jmp 0x77465a95
cmp dword [eax], 0
je 0x77465370
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x22e
jmp 0x77465375
cmp dword [edi + 0xd4], 0
jne 0x77464a99
jmp 0x77465e3d
mov byte [ebp - 0x4c], 0
cmp dword [ebp - 0x74], 0
je 0x774b77c4
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.774762b0
mov dword [esi + 0x34], eax
jmp 0x77465353
xor eax, eax
jmp 0x77465383
mov ecx, 1
jmp 0x77465b93
mov eax, 0x10
jmp 0x77465baa
mov eax, 1
jmp 0x77465ccc
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.774762b0
mov dword [esi + 0x34], eax
jmp 0x77465353
push ecx
mov edx, ebx
mov ecx, edi
call fcn.775015a8
jmp 0x774655ef
lea edx, [eax - 1]
jmp 0x7746563b
add eax, eax
jmp 0x7746565c
push 0
push 0
push 0
push edx
mov edx, edi
mov ecx, 3
call fcn.774a6033
jmp 0x774656e1
mov eax, dword [esi]
cmp eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x44]
je 0x774b7201
mov dword [ecx], eax
jmp 0x77465728
mov dword [ecx], 0
jmp 0x7746570b
push 1
movzx eax, word [ebx]
push eax
mov edx, ebx
mov ecx, edi
call fcn.7744f188
jmp 0x774b722e
push 0
push eax
push ecx
push esi
mov edx, edi
mov ecx, 0xc
call fcn.774a6033
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.774762b0
mov dword [esi + 0x34], eax
jmp 0x77465353
push 0
push 0
push 0
push dword [ebp - 0x40]
mov edx, edi
mov ecx, 3
call fcn.774a6033
mov edx, dword [ebp - 0x6c]
jmp 0x77464b24
push 0
push 0
push 0
push dword [ebp - 0x40]
mov edx, edi
mov ecx, 3
call fcn.774a6033
mov edx, dword [ebp - 0x6c]
jmp 0x77464b78
add ebx, ebx
jmp 0x7746508c
push 0
push 0
push 0
push dword [ebp - 0x40]
mov edx, edi
mov ecx, 3
call fcn.774a6033
mov edx, dword [ebp - 0x74]
jmp 0x774650d4
add eax, eax
jmp 0x77464c21
push ecx
mov edx, ebx
mov ecx, edi
call fcn.775015a8
jmp 0x77464c63
lea eax, [esi + esi]
jmp 0x77464cde
push 0
push 0
push 0
push dword [ebp - 0x40]
mov edx, edi
mov ecx, 3
call fcn.774a6033
mov edx, dword [ebp - 0x6c]
jmp 0x77464d7c
push 1
movzx eax, word [ebx]
push eax
mov edx, ebx
mov ecx, edi
call fcn.7744f188
mov byte [ebp - 0x4a], 0
jmp 0x77465353
push 0
push ecx
push esi
push edx
mov edx, edi
mov ecx, 0xc
call fcn.774a6033
mov byte [ebp - 0x4a], 0
jmp 0x77465353
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 0x77465815
mov edx, ebx
mov ecx, edi
call fcn.7745dfaf
test al, al
jne 0x774658ad
push 1
movzx eax, word [ebx]
push eax
mov edx, ebx
mov ecx, edi
call fcn.7744f188
mov byte [ebp - 0x4d], 0
jmp 0x77465353
movzx eax, word [ebx]
lea esi, [eax*8 - 0x10]
mov dword [ebp - 0xf0], esi
test cl, 2
je 0x774b7394
cmp esi, 4
jbe 0x774b7394
sub esi, 4
mov dword [ebp - 0xf0], esi
push 0xfeeefeee
push esi
lea eax, [ebx + 0x10]
push eax
call fcn.774a65b0
mov dword [ebp - 0x1c], eax
cmp eax, esi
je 0x77464ded
mov ecx, dword fs:[0x30]
cmp dword [ecx + 0xc], 0
je 0x774b73db
mov ecx, dword fs:[0x30]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + 0xc]
add eax, 0x2c
push eax
push 0x77424db0
call fcn.7744afb0
add esp, 8
jmp 0x774b73e8
push 0x77424dbc
call fcn.7744afb0
add esp, 4
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x1c]
add eax, 0x10
add eax, ecx
push eax
push ecx
push 0x77427588
call fcn.7744afb0
add esp, 0xc
mov eax, dword fs:[0x30]
cmp byte [eax + 2], 0
je 0x774b742b
mov byte [0x77536255], 1
mov ebx, dword [ebp - 0x68]
mov dword [0x775360a0], ebx
int3
mov ebx, dword [ebp - 0x68]
jmp 0x77464ded
mov dword [ebx + ecx*8 - 4], eax
mov byte [ebx + 7], 0x3f
jmp 0x77464e32
mov dword [ebx + ecx*8 + 4], eax
mov byte [ebx + 7], 0x3f
jmp 0x77465253
push 0
push 0
push ecx
push ebx
mov edx, dword [ecx + 0x18]
mov ecx, 3
call fcn.774a6033
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x80]
jmp 0x77464e9d
push 0
push 0
push 0
push dword [ebp - 0x1c]
mov edx, edi
mov ecx, 3
call fcn.774a6033
mov edx, dword [ebp - 0x3c]
jmp 0x77464f77
push 0
push 0
push 0
push dword [ebp - 0x1c]
mov edx, edi
mov ecx, 3
call fcn.774a6033
mov edx, dword [ebp - 0x34]
jmp 0x77464fcd
mov eax, dword [ebp - 0x28]
add eax, eax
mov dword [ebp - 0x28], eax
jmp 0x77465456
push 0
push 0
push 0
push dword [ebp - 0x1c]
mov edx, edi
mov ecx, 3
call fcn.774a6033
mov edx, dword [ebp - 0x34]
jmp 0x7746549f
add edx, edx
jmp 0x77465127
mov esi, dword [eax]
jmp 0x77465140
mov cx, word [esi - 8]
jmp 0x77465165
mov esi, dword [esi]
lea eax, [edi + 0xc0]
jmp 0x77465140
push 0
push ecx
push 0
push esi
xor edx, edx
lea ecx, [edx + 0xc]
call fcn.774a6033
jmp 0x77465191
lea eax, [esi + esi]
mov dword [ebp - 0x20], eax
jmp 0x774651dc
push 0
push 0
push 0
push dword [ebp - 0x1c]
mov edx, edi
mov ecx, 3
call fcn.774a6033
lea edx, [ebx + 8]
jmp 0x774655a0
push 0xfeeefeee
lea eax, [esi*8 - 0x10]
push eax
lea eax, [ebx + 0x10]
push eax
call fcn.774a6650
or byte [ebx + 2], 4
jmp 0x77465d49
mov edx, dword [eax]
jmp 0x77465d70
mov cx, word [edx - 8]
jmp 0x77465d8f
mov edx, dword [edx]
lea eax, [edi + 0xc0]
jmp 0x77465d70
push 0
push ecx
push 0
push edx
xor edx, edx
lea ecx, [edx + 0xc]
call fcn.774a6033
jmp 0x77465dbb
push ecx
mov ecx, edi
call fcn.775015a8
lea edx, [ebx + esi*8]
jmp 0x77465ee3
mov ecx, edi
call fcn.7745dfaf
test al, al
jne 0x774b75b3
push 1
lea ecx, [ebx + esi*8]
movzx eax, word [ecx]
push eax
mov edx, ecx
mov ecx, edi
call fcn.7744f188
jmp 0x77466360
lea edx, [ebx + esi*8]
jmp 0x77465f73
mov al, byte [edx + 2]
mov byte [ebp - 0x35], al
test al, 4
je 0x77465f82
movzx eax, word [edx]
lea eax, [eax*8 - 0x10]
mov dword [ebp - 0xb8], eax
test byte [ebp - 0x35], 2
je 0x774b75ed
cmp eax, 4
jbe 0x774b75ed
sub eax, 4
mov dword [ebp - 0xb8], eax
push 0xfeeefeee
push eax
lea eax, [edx + 0x10]
push eax
call fcn.774a65b0
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0xb8]
je 0x774b7681
mov ecx, dword fs:[0x30]
cmp dword [ecx + 0xc], 0
je 0x774b7634
mov ecx, dword fs:[0x30]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + 0xc]
add eax, 0x2c
push eax
push 0x77424db0
call fcn.7744afb0
add esp, 8
jmp 0x774b7641
push 0x77424dbc
call fcn.7744afb0
add esp, 4
lea ecx, [ebx + esi*8]
mov eax, dword [ebp - 0x1c]
add eax, 0x10
add eax, ecx
push eax
push ecx
push 0x77427588
call fcn.7744afb0
add esp, 0xc
mov eax, dword fs:[0x30]
lea edx, [ebx + esi*8]
cmp byte [eax + 2], 0
je 0x774b7684
mov byte [0x77536255], 1
mov dword [0x775360a0], edx
int3
lea edx, [ebx + esi*8]
mov ecx, dword [ebp - 0x80]
jmp 0x77465f82
mov ecx, dword [esi]
jmp 0x77465fe0
mov dx, word [ecx - 8]
jmp 0x774660ee
mov ecx, dword [ecx]
jmp 0x77465fe0
push 0
push edx
push 0
push ecx
xor edx, edx
lea ecx, [edx + 0xc]
call fcn.774a6033
jmp 0x77466002
movzx esi, si
and byte [ebx + 2], 0xf0
mov byte [ebx + 7], 0
test byte [edi + 0x40], 0x40
je 0x774b76e3
push 0xfeeefeee
lea eax, [esi*8 - 0x10]
push eax
lea eax, [ebx + 0x10]
push eax
call fcn.774a6650
or byte [ebx + 2], 4
lea eax, [edi + 0xc0]
cmp dword [edi + 0xb4], 0
je 0x774b7705
mov edx, esi
mov ecx, edi
call fcn.7744e9b4
mov ecx, eax
lea eax, [edi + 0xc0]
jmp 0x774b7707
mov ecx, dword [eax]
cmp eax, ecx
je 0x774b7740
cmp dword [edi + 0x4c], 0
je 0x774b7724
mov edx, dword [ecx - 8]
mov dword [ebp - 0x48], edx
test dword [edi + 0x4c], edx
je 0x774b7728
xor edx, dword [edi + 0x50]
mov dword [ebp - 0x48], edx
jmp 0x774b7728
mov dx, word [ecx - 8]
mov word [ebp - 0xa2], dx
movzx eax, dx
cmp esi, eax
jbe 0x774b7740
mov ecx, dword [ecx]
lea eax, [edi + 0xc0]
jmp 0x774b7707
lea esi, [ebx + 8]
mov eax, dword [ecx + 4]
mov edx, dword [eax]
cmp edx, ecx
jne 0x774b7758
mov dword [esi], ecx
mov dword [esi + 4], eax
mov dword [eax], esi
mov dword [ecx + 4], esi
jmp 0x774b7768
push 0
push edx
push 0
push ecx
xor edx, edx
lea ecx, [edx + 0xc]
call fcn.774a6033
movzx eax, word [ebx]
add dword [edi + 0x74], eax
mov edx, dword [edi + 0xb4]
test edx, edx
je 0x7746522e
movzx ecx, word [ebx]
cmp ecx, dword [edx + 4]
jb 0x774b778e
mov eax, dword [edx]
test eax, eax
jne 0x774b7799
mov ecx, dword [edx + 4]
dec ecx
mov dword [ebp - 0x10c], ecx
jmp 0x77465ddf
mov edx, eax
jmp 0x774b777f
push esi
mov edx, ebx
mov ecx, edi
call fcn.7744f6d0
jmp 0x7746524b
push 0
push eax
push dword [ebp - 0x1c]
push ecx
mov edx, edi
mov ecx, 0xc
call fcn.774a6033
jmp 0x77466360
mov dword [ebp - 0x74], 1
mov edx, dword [ebp - 0x80]
jmp 0x77464eb0
push esi
call fcn.774e3e80
mov edx, dword [ebp - 0x44]
jmp 0x77466057
mov edx, eax
mov dword [ebp - 0x44], edx
jmp 0x77466057
mov ecx, 1
call fcn.7745058b
mov word [esi], ax
jmp 0x77465c4d
push 0
push eax
push dword [ebp - 0x3c]
push edx
mov edx, edi
mov ecx, 0xc
call fcn.774a6033
mov byte [ebp - 0x4d], 0
jmp 0x77465353
mov eax, dword [eax]
mov dword [ebp - 0x110], eax
test eax, eax
je 0x77465a16
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x77465a1b
mov eax, dword [eax]
mov dword [ebp - 0x114], eax
test eax, eax
je 0x77465a3b
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x77465a40
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x77466293
mov eax, dword [eax]
mov dword [ebp - 0x118], eax
test eax, eax
je 0x77465a60
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x230
jmp 0x77465a65
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x230
jmp 0x774662c2
mov ecx, 1
call fcn.7745058b
mov word [ebp - 0xe2], ax
mov ecx, dword [ebp - 0x30]
mov word [ecx + 8], ax
jmp 0x77465a7b
push 0
push esi
push 0
push eax
xor edx, edx
lea ecx, [edx + 0xc]
call fcn.774a6033
jmp 0x77465ad7
mov dword [ebp - 0x30], 0
inc dword [edi + 0x214]
jmp 0x77465eb1
mov dword [ebp - 0x94], 0xc0000023
jmp 0x77465eb1