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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x7751f888
push 0x7749a000
mov eax, dword fs:[0]
push eax
sub esp, 0x148
mov eax, dword [0x7753d344]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov ebx, edx
mov edi, ecx
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0x94], ebx
mov esi, dword [ebp + 8]
mov dword [ebp - 0xb4], esi
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0xe0], 0
mov byte [ebp - 0x9d], 0
mov dword [ebp - 0xf8], 0
test esi, esi
je 0x77461075
add esi, 0xfffffff8
mov edx, esi
cmp byte [esi + 7], 5
je 0x774b5655
mov dword [ebp - 0x98], edx
cmp byte [edi + 0xda], 2
jne 0x7746050d
cmp dword [edi + 0xd4], 0
je 0x7746050d
lea eax, [edx + 7]
mov dword [ebp - 0xc0], eax
cmp byte [eax], 0
jge 0x7746050d
test bl, 0x10
jne 0x77461096
mov esi, edx
shr esi, 3
mov eax, esi
xor eax, edi
xor eax, dword [edx]
xor eax, dword [0x77538774]
movzx ecx, ax
test ecx, ecx
jne 0x774b5663
shr eax, 0xd
sub edx, eax
mov eax, dword [edx]
mov ax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [ebp - 0xc0]
mov cl, byte [eax]
cmp cl, 5
je 0x774b566a
xor eax, eax
test al, al
jne 0x774b5674
test cl, 0x40
jne 0x774b5689
mov al, cl
and al, 0x3f
cmp al, 0x3f
je 0x77460e35
xor eax, eax
test al, al
jne 0x77460df4
movzx ecx, cl
and ecx, 0x3f
lea esi, [edx*8]
sub esi, ecx
mov dword [ebp - 0xbc], esi
mov ebx, dword [ebp - 0x94]
and ebx, 0xc003ffff
mov dword [ebp - 0x94], ebx
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x90]
push ecx
push ebx
push edi
call fcn.77463940
mov dword [ebp - 0xd0], eax
mov dword [ebp - 4], 0xfffffffe
mov ecx, dword [ebp - 0x90]
test eax, eax
je 0x774604c8
cmp ecx, esi
jb 0x77460af1
push esi
mov esi, dword [ebp - 0xb4]
push esi
push eax
call fcn.77498b20
add esp, 0xc
push esi
push ebx
push edi
call fcn.77461440
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x774b56d3
mov eax, 0x7ffe0380
cmp byte [eax], 0
jne 0x77460efd
mov esi, dword [ebp - 0xd0]
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.77494a40
mov esp, ebp
pop ebp
ret 8
cmp edx, edi
je 0x7746109d
or ebx, dword [edi + 0x44]
mov dword [ebp - 0x94], ebx
test ebx, 0x61000000
setne cl
bt ebx, 0x1c
setae al
test al, cl
jne 0x77460ee2
mov eax, dword [ebp - 0x90]
cmp eax, 0x7fffffff
ja 0x774610b7
test eax, eax
je 0x77460db7
mov ecx, eax
mov eax, dword [edi + 0x94]
add eax, ecx
and eax, dword [edi + 0x98]
cmp eax, 0x10
jb 0x774b5708
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xbc], 0
mov dword [ebp - 4], 1
test bl, 1
jne 0x774605b4
push dword [edi + 0xc8]
call fcn.7747b660
test eax, eax
je 0x77460dc1
inc dword [edi + 0x204]
mov byte [ebp - 0xd1], 1
mov byte [ebp - 0x9d], 1
xor ebx, 1
mov dword [ebp - 0x94], ebx
mov dword [ebp - 4], 2
cmp byte [esi + 7], 5
je 0x774b5752
mov dword [ebp - 0x98], esi
cmp dword [edi + 0x4c], 0
je 0x774605e7
mov eax, dword [edi + 0x50]
xor dword [esi], eax
mov al, byte [esi + 2]
xor al, byte [esi + 1]
xor al, byte [esi]
cmp byte [esi + 3], al
jne 0x774b5760
mov dword [ebp - 0xe0], esi
movzx ecx, word [esi]
mov eax, dword [edi + 0xb4]
jmp 0x77460600
mov edx, dword [eax + 4]
cmp ecx, edx
jae 0x77460ad3
dec edx
cmp ecx, edx
jae 0x77460b72
sub ecx, dword [eax + 0x14]
cmp dword [eax + 8], 0
jne 0x774b576f
mov eax, dword [eax + 0x20]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x9c]
test ebx, 0x3c000100
jne 0x77460af8
cmp dword [ecx + 0xbc], 0
jne 0x77460af8
test byte [esi + 2], 2
jne 0x77460af8
lea eax, [esi + 7]
mov dword [ebp - 0xc0], eax
mov ah, byte [eax]
movzx edx, ah
mov dword [ebp - 0xa4], edx
test edx, 0xffffff3f
je 0x774b5776
mov edx, 1
test dl, dl
je 0x774610e2
cmp ah, 4
je 0x77461111
xor edx, edx
test dl, dl
jne 0x774b577d
movzx edx, word [esi]
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xc4], edx
cmp ah, 5
je 0x7746111b
mov dword [ebp - 0xcc], 0
cmp byte [ebp - 0xcc], 0
jne 0x774b580e
test ah, 0x40
jne 0x774b582d
mov al, ah
and al, 0x3f
cmp al, 0x3f
je 0x774b5842
mov dword [ebp - 0xcc], 0
cmp byte [ebp - 0xcc], 0
jne 0x774b5851
mov eax, dword [ebp - 0xa4]
and eax, 0x3f
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xcc], eax
lea eax, [edx*8]
sub eax, dword [ebp - 0xa4]
mov dword [ebp - 0xbc], eax
movzx eax, word [ecx + 0xe0]
cmp edx, eax
jae 0x77460788
mov eax, edx
shr eax, 3
and dl, 7
mov dword [ebp - 0xac], edx
mov dl, byte [eax + ecx + 0xe2]
mov al, 1
mov cl, byte [ebp - 0xac]
shl al, cl
test dl, al
mov eax, 0
setne al
mov edx, dword [ebp - 0xc4]
test al, al
jne 0x77460abc
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + 0xdc]
mov dword [ebp - 0xac], edx
lea ecx, [eax + edx*2]
movzx eax, word [ecx]
cmp eax, 1
jbe 0x7746077c
dec eax
mov word [ecx], ax
mov esi, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xb8]
shr ecx, 3
mov dword [ebp - 0xc8], ecx
cmp ecx, edx
jbe 0x774609cc
mov eax, dword [ebp - 0xc0]
cmp byte [eax], 4
je 0x774611c6
xor eax, eax
test al, al
jne 0x774607d2
push ecx
mov ecx, dword [ebp - 0x90]
push ecx
push esi
mov edx, ebx
mov ecx, dword [ebp - 0x9c]
call fcn.7744e1c2
test al, al
jne 0x7746098d
test bl, 0x10
jne 0x774611d0
and ebx, 0xc003ffff
mov dword [ebp - 0x94], ebx
lea ecx, [esi + 2]
mov dword [ebp - 0xc0], ecx
mov al, byte [ecx]
test al, 2
jne 0x77460b92
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x154], eax
mov esi, dword [ebp - 0x98]
test eax, 0x800
jne 0x774611f5
mov ebx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x9c]
cmp dword [edx + 0x4c], 0
je 0x77460848
movzx ecx, byte [esi + 1]
movzx eax, byte [esi]
xor ecx, eax
mov eax, dword [ebp - 0xc0]
movzx eax, byte [eax]
xor ecx, eax
mov byte [esi + 3], cl
mov eax, dword [edx + 0x50]
xor dword [esi], eax
mov dword [ebp - 0xe0], 0
mov dword [ebp - 4], 4
push dword [ebp - 0x90]
push ebx
push edi
call fcn.77463940
mov dword [ebp - 0xd0], eax
mov dword [ebp - 4], 2
mov edx, dword [ebp - 0x90]
test eax, eax
je 0x77460975
add eax, 0xfffffff8
mov dword [ebp - 0xac], eax
cmp byte [eax + 7], 5
je 0x774b596b
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x9c]
cmp dword [ecx + 0x4c], 0
je 0x774608d0
mov eax, dword [ecx + 0x50]
mov edx, dword [ebp - 0xac]
xor dword [edx], eax
mov eax, edx
mov al, byte [eax + 2]
xor al, byte [edx + 1]
xor al, byte [edx]
cmp byte [edx + 3], al
mov edx, dword [ebp - 0x90]
jne 0x774b5983
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xe0], eax
test byte [eax + 2], 2
jne 0x77460be1
mov esi, dword [ebp - 0x9c]
cmp dword [esi + 0x4c], 0
je 0x77460915
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 1]
xor ecx, eax
mov eax, dword [ebp - 0xac]
movzx eax, byte [eax]
xor ecx, eax
mov eax, dword [ebp - 0xac]
mov byte [eax + 3], cl
mov eax, dword [esi + 0x50]
mov ecx, dword [ebp - 0xac]
xor dword [ecx], eax
mov dword [ebp - 0xe0], 0
cmp byte [ebp - 0x9d], 0
je 0x77460949
push dword [esi + 0xc8]
call fcn.7746bdd0
mov byte [ebp - 0x9d], 0
and ebx, 0xfffffffe
mov dword [ebp - 0x94], ebx
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0xbc]
jb 0x77460957
mov edx, dword [ebp - 0xbc]
push edx
mov esi, dword [ebp - 0xb4]
push esi
push dword [ebp - 0xd0]
call fcn.774987e0
add esp, 0xc
push esi
push ebx
push edi
call fcn.77461440
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xb4], eax
mov ebx, dword [ebp - 0x90]
mov dword [ebp - 4], 1
mov dword [ebp - 4], 0xfffffffe
call fcn.77461225
call fcn.77461a00
test eax, eax
jne 0x774b59c7
mov eax, 0x7ffe0380
cmp byte [eax], 0
jne 0x77460e4c
mov eax, dword [ebp - 0xb4]
jmp 0x774604ef
lea eax, [ecx + 1]
cmp eax, edx
je 0x77460d9c
mov eax, dword [ebp - 0xc0]
cmp byte [eax], 4
je 0x7746112a
xor eax, eax
test al, al
jne 0x774b58ff
test byte [esi + 2], 2
jne 0x77460b04
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x12c], eax
test eax, 0x800
jne 0x77461134
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xac], ecx
mov esi, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x90]
cmp eax, ecx
jbe 0x77460a61
test bl, 8
je 0x77460d1b
sub eax, ecx
push eax
push 0
mov eax, dword [ebp - 0xb4]
add eax, ecx
push eax
call fcn.77498e60
add esp, 0xc
mov eax, dword [ebp - 0x90]
mov ebx, dword [ebp - 0x9c]
test byte [ebx + 0x40], 0x20
jne 0x7746118b
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [ebp - 0xac]
jne 0x77460c7d
cmp byte [esi + 7], 4
je 0x774611bc
xor eax, eax
mov ebx, dword [ebp - 0x90]
test al, al
jne 0x77460993
mov eax, dword [ebp - 0xb8]
sub eax, ebx
mov dword [ebp - 0xfc], eax
cmp eax, 0x3f
jae 0x774b5954
mov byte [esi + 7], al
jmp 0x77460993
mov esi, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0xac], edx
jmp 0x77460788
mov edx, dword [eax]
mov dword [ebp - 0xf0], edx
test edx, edx
mov edx, dword [eax + 4]
je 0x77460b8a
mov eax, dword [ebp - 0xf0]
jmp 0x77460600
mov esi, ecx
jmp 0x774604af
add dword [ebp - 0xb8], 8
jmp 0x77460656
movzx eax, word [esi]
dec eax
lea edx, [esi + eax*8]
mov dword [ebp - 0x104], edx
dec ecx
lea ecx, [esi + ecx*8]
mov dword [ebp - 0xd8], ecx
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x128], eax
test eax, 0x800
je 0x77460a14
mov esi, dword [ebp - 0xd8]
push 4
push dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xac], eax
push eax
mov dx, word [esi + 2]
mov ecx, dword [ebp - 0x9c]
call fcn.774f1336
mov word [esi + 2], ax
jmp 0x77460a20
cmp dword [eax], 0
jne 0x77460e3f
mov dword [ebp - 0x11c], 0
jmp 0x7746062d
lea ecx, [edx - 1]
jmp 0x7746060b
and ebx, 0xfffff1ff
mov dword [ebp - 0x94], ebx
movzx eax, al
and eax, 0xe0
or eax, 0x10
shl eax, 4
or ebx, eax
mov dword [ebp - 0x94], ebx
mov dword [ebp - 4], 3
mov ecx, esi
call fcn.774810bd
mov dword [ebp - 0x104], eax
movzx eax, word [eax + 2]
test ax, ax
jne 0x774611df
mov dword [ebp - 4], 2
jmp 0x77460820
mov ecx, eax
call fcn.774810bd
mov ecx, eax
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0x9c]
cmp dword [eax + 0x4c], 0
je 0x77460c18
mov ecx, dword [eax + 0x50]
xor dword [esi], ecx
mov cl, byte [esi + 2]
xor cl, byte [esi + 1]
xor cl, byte [esi]
cmp byte [esi + 3], cl
jne 0x774b599a
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 4], 5
test byte [esi + 2], 2
je 0x774b59b5
mov ecx, esi
call fcn.774810bd
mov dword [ebp - 0x104], eax
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 4], 2
cmp dword [eax + 0x4c], 0
je 0x77460c72
movzx ecx, byte [esi + 2]
movzx eax, byte [esi + 1]
xor ecx, eax
movzx eax, byte [esi]
xor ecx, eax
mov byte [esi + 3], cl
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + 0x50]
xor dword [esi], eax
mov eax, dword [ebp - 0xac]
jmp 0x774608e0
mov al, byte [esi + 2]
and al, 0xfe
mov byte [ebp - 0xf0], al
mov eax, dword [ebp - 0xc0]
cmp byte [eax], 4
je 0x774611a0
xor eax, eax
test al, al
jne 0x77460f90
movzx ebx, word [esi]
movzx eax, cx
sub ebx, eax
mov dword [ebp - 0x134], ebx
mov word [esi], cx
mov eax, dword [ebp - 0x9c]
test byte [eax + 0x40], 0x40
jne 0x774b5945
mov dword [ebp - 0xc0], 0
mov dl, byte [esi + 6]
test dl, dl
je 0x77460db0
movzx eax, dl
mov edx, 1
sub edx, eax
shl edx, 0x10
mov eax, esi
and eax, 0xffff0000
add edx, eax
mov dword [ebp - 0x110], edx
push ebx
push ecx
push dword [ebp - 0xc0]
push dword [ebp - 0xf0]
lea eax, [esi + ecx*8]
push eax
mov ecx, dword [ebp - 0x9c]
call fcn.7744e590
mov ecx, dword [ebp - 0xc8]
jmp 0x77460a83
mov ebx, dword [ebp - 0x9c]
test byte [ebx + 0x40], 0x40
je 0x77460a67
mov edx, dword [ebp - 0xbc]
and edx, 3
mov dword [ebp - 0x118], edx
jne 0x77461171
mov ecx, dword [ebp - 0xbc]
lea ebx, [edx + ecx]
mov dword [ebp - 0xfc], ebx
cmp eax, ebx
mov ebx, dword [ebp - 0x9c]
jbe 0x77460a67
mov dword [ebp - 0xa4], eax
sub dword [ebp - 0xa4], edx
mov edx, dword [ebp - 0xa4]
sub edx, ecx
and edx, 0xfffffffc
je 0x77460a67
push 0xbaadf00d
push edx
mov eax, dword [ebp - 0xfc]
add eax, 8
add eax, esi
push eax
call fcn.774a6650
mov eax, dword [ebp - 0x90]
jmp 0x77460a67
mov ecx, eax
mov dword [ebp - 0xc8], ecx
add dword [ebp - 0xb8], 8
jmp 0x774609d7
mov edx, eax
jmp 0x77460ced
mov ecx, 1
jmp 0x77460551
cmp byte [0x77537c28], 0
jne 0x774b5712
xor eax, eax
test al, al
jne 0x774b571c
push dword [edi + 0xc8]
call fcn.7746be50
mov edx, 1
mov ecx, edi
call fcn.77487a5c
jmp 0x7746059d
test cl, cl
jns 0x774b56a6
xor esi, edi
mov ecx, dword [ebp - 0x98]
xor esi, dword [ecx]
xor esi, dword [0x77538774]
test si, si
jne 0x774b569f
shr esi, 0xd
sub ecx, esi
mov eax, dword [ecx]
mov ax, word [eax + 0x14]
movzx eax, ax
movzx ecx, ax
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + ecx*8 - 4]
jmp 0x7746045a
mov eax, 1
jmp 0x7746044c
cmp ecx, edx
je 0x77460614
jmp 0x77460b7b
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x774609c1
mov esi, dword [ebp - 0xb4]
test esi, esi
je 0x774609c1
test dword [ebp - 0x94], 0x800000
jne 0x774609c1
mov eax, 0x1022
mov word [ebp - 0x4e], ax
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0xf8]
test eax, eax
jne 0x77460e98
mov eax, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], 3
call fcn.77461a00
test eax, eax
je 0x774b59da
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
lea ecx, [ebp - 0x54]
push ecx
push 0x18
push 0x20402
movzx eax, byte [eax]
push eax
call fcn.77492f40
jmp 0x774609c1
mov ecx, dword [ebp - 0x90]
push ecx
push dword [ebp - 0xb4]
mov edx, ebx
mov ecx, edi
call 0x7750816c
jmp 0x774604ef
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x774604e7
mov esi, dword [ebp - 0xd0]
test esi, esi
je 0x774604ed
test dword [ebp - 0x94], 0x800000
jne 0x774604ed
mov eax, 0x1022
mov word [ebp - 0x86], ax
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x68], esi
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x58], 2
call fcn.77461a00
test eax, eax
jne 0x774b56ef
mov eax, 0x7ffe0380
lea ecx, [ebp - 0x8c]
push ecx
push 0x18
push 0x20402
movzx eax, byte [eax]
push eax
call fcn.77492f40
jmp 0x774604ed
add esi, 0xffffffe8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x130], eax
mov ebx, dword [ebp - 0xc4]
test eax, 0x800
je 0x77460fcb
push 5
push dword [ebp - 0xc8]
push ebx
mov dx, word [esi + 0xa]
mov ecx, dword [ebp - 0x9c]
call fcn.774f1336
mov word [esi + 0xa], ax
mov ecx, dword [ebp - 0xb8]
lea eax, [esi + ecx]
mov dword [ebp - 0x100], eax
lea eax, [ebx*8]
sub eax, ecx
mov dword [ebp - 0xec], eax
push 0x4000
lea eax, [ebp - 0xec]
push eax
lea edx, [ebp - 0x100]
call fcn.774505d2
mov dword [ebp - 0x10c], eax
test eax, eax
jns 0x774b5931
mov eax, dword fs:[0x30]
cmp dword [eax + 0xc], 0
je 0x774611aa
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
add eax, 0x2c
push eax
push 0x77424db0
call fcn.7744afb0
add esp, 8
push dword [ebp - 0x10c]
push dword [ebp - 0xec]
push dword [ebp - 0x100]
push 0x77424ecc
call fcn.7744afb0
add esp, 0x10
mov eax, dword fs:[0x30]
cmp byte [eax + 2], 0
jne 0x774b5913
mov esi, dword [ebp - 0x98]
jmp 0x77460d10
mov eax, dword fs:[0x18]
mov dword [eax + 0xbf4], 0
mov esi, dword fs:[0x18]
push 0
call fcn.774762b0
mov dword [esi + 0x34], eax
xor eax, eax
jmp 0x774604ef
push 0
push 0
push 0
push edx
mov edx, edi
mov ecx, 9
call fcn.774a6033
xor eax, eax
jmp 0x774604ef
mov eax, dword fs:[0x18]
mov dword [eax + 0xbf4], 0xc0000017
mov esi, dword fs:[0x18]
push 0xc0000017
call fcn.774762b0
mov dword [esi + 0x34], eax
xor eax, eax
jmp 0x774604ef
mov eax, dword fs:[0x18]
mov dword [eax + 0xbf4], 0xc000000d
mov esi, dword fs:[0x18]
mov dword [ebp - 0x13c], esi
push 0xc000000d
call fcn.774762b0
mov dword [esi + 0x34], eax
jmp 0x7746098d
mov edx, 1
jmp 0x7746068e
mov dword [ebp - 0xcc], 1
jmp 0x774606b8
mov eax, 1
jmp 0x774609e8
mov esi, dword [ebp - 0x98]
mov cl, byte [esi + 3]
mov byte [ebp - 0xe1], cl
push 4
push dword [ebp - 0xc8]
movzx eax, word [esi]
push eax
movzx edx, cl
mov ecx, dword [ebp - 0x9c]
call fcn.774f1336
mov byte [esi + 3], al
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xac], eax
jmp 0x77460a26
mov eax, 4
sub eax, edx
mov edx, eax
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x90]
jmp 0x77460d40
mov dword [eax + esi + 8], 0xabababab
mov dword [eax + esi + 0xc], 0xabababab
jmp 0x77460a71
mov eax, 1
jmp 0x77460c99
push 0x77424dbc
call fcn.7744afb0
add esp, 4
jmp 0x7746103b
mov eax, 1
jmp 0x77460a8f
mov eax, 1
jmp 0x774607b0
mov dword [ebp - 0xb4], 0
jmp 0x7746098d
js 0x77460bd5
shl eax, 0x12
or ebx, eax
mov dword [ebp - 0x94], ebx
jmp 0x77460bd5
mov al, byte [esi + 3]
mov byte [ebp - 0xe2], al
test al, al
je 0x7746081a
mov byte [ebp - 0xe3], al
movzx eax, al
shl eax, 0x12
mov ebx, dword [ebp - 0x94]
or ebx, eax
mov dword [ebp - 0x94], ebx
jmp 0x77460820
mov eax, dword [esi + eax*8 - 4]
jmp 0x774606fa
mov ebx, dword [ebp - 0x90]
jmp 0x7746099a
movzx eax, byte [esi + 6]
shl eax, 3
sub edx, eax
jmp 0x774603b5
xor eax, eax
jmp 0x77460413
mov eax, 1
jmp 0x7746042d
movzx ecx, word [edi + 0x54]
mov eax, dword [ebp - 0x98]
movzx eax, word [eax + 4]
xor ecx, eax
jmp 0x7746045a
movzx ecx, cl
and ecx, 0x3f
mov eax, dword [ebp - 0x98]
movzx ecx, word [eax + ecx*8 + 4]
jmp 0x7746045a
xor eax, eax
jmp 0x77460e1c
mov eax, dword [ebp - 0x98]
cmp dword [edi + 0x4c], 0
je 0x774b56c4
mov eax, dword [eax]
test dword [edi + 0x4c], eax
je 0x774b56bc
xor eax, dword [edi + 0x50]
movzx eax, ax
jmp 0x77460e20
movzx eax, word [eax]
jmp 0x77460e20
cmp dword [eax], 0
je 0x774604d9
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x774604de
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
mov esi, dword [ebp - 0xd0]
jmp 0x77460f74
mov eax, 0x10
jmp 0x77460568
mov eax, 1
jmp 0x77460dd0
mov byte [ebp - 0xd1], 0
mov eax, dword fs:[0x18]
mov dword [eax + 0xbf4], 0xc0000194
mov esi, dword fs:[0x18]
mov dword [ebp - 0x124], esi
push 0xc0000194
call fcn.774762b0
mov dword [esi + 0x34], eax
jmp 0x774613e8
movzx eax, byte [esi + 6]
shl eax, 3
sub esi, eax
jmp 0x774605c5
push ecx
mov edx, esi
mov ecx, edi
call fcn.775015a8
jmp 0x774605e7
add ecx, ecx
jmp 0x77460621
xor edx, edx
jmp 0x7746067b
lea eax, [esi - 0x18]
mov dword [ebp - 0xa4], eax
cmp dword [ecx + 0x4c], 0
je 0x774b57b7
mov edx, dword [esi]
mov dword [ebp - 0xb0], edx
test dword [ecx + 0x4c], edx
je 0x774b57a2
xor edx, dword [ecx + 0x50]
mov dword [ebp - 0xb0], edx
mov word [ebp - 0xe6], dx
mov esi, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x94]
jmp 0x774b57c1
mov dx, word [esi]
mov word [ebp - 0xe6], dx
movzx eax, dx
mov ecx, dword [ebp - 0xa4]
mov ecx, dword [ecx + 0x10]
sub ecx, eax
mov dword [ebp - 0xbc], ecx
movzx edx, word [esi]
add edx, ecx
shr edx, 3
mov dword [ebp - 0xc4], edx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x18
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb8], ecx
lea eax, [ecx + 0xfff]
and eax, 0xfffff000
mov dword [ebp - 0xb8], eax
jmp 0x77460ac8
movzx eax, word [esi + 4]
mov dword [ebp - 0xa4], eax
movzx eax, word [ecx + 0x54]
xor dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
jmp 0x77460700
mov eax, dword [ebp - 0xa4]
and eax, 0x3f
lea eax, [esi + eax*8]
movzx eax, word [eax + 4]
jmp 0x774606fa
mov dword [ebp - 0xcc], 1
jmp 0x774606e4
test ah, ah
jns 0x774b589e
mov edx, esi
shr edx, 3
xor edx, dword [esi]
xor edx, dword [0x77538774]
xor edx, ecx
test dx, dx
je 0x774b586d
xor eax, eax
jmp 0x774b5874
shr edx, 0xd
sub esi, edx
mov eax, dword [esi]
mov ax, word [eax + 0x14]
movzx eax, ax
mov dword [ebp - 0x114], eax
mov esi, dword [ebp - 0x98]
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xac], edx
mov ebx, dword [ebp - 0x94]
jmp 0x774612a9
cmp dword [ecx + 0x4c], 0
je 0x774b58e7
mov eax, dword [esi]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x150], eax
test dword [ecx + 0x4c], eax
je 0x774b58c6
mov eax, dword [ecx + 0x50]
xor eax, dword [ebp - 0xa4]
mov dword [ebp - 0x150], eax
mov word [ebp - 0xe8], ax
mov esi, dword [ebp - 0x98]
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xac], edx
mov ebx, dword [ebp - 0x94]
jmp 0x774b58f1
movzx eax, word [esi]
mov word [ebp - 0xe8], ax
movzx eax, ax
mov dword [ebp - 0x114], eax
jmp 0x774612a9
mov eax, dword [ebp - 0xb8]
sub eax, dword [ebp - 0x90]
mov word [esi], ax
jmp 0x77460a2c
mov byte [0x77536255], 1
mov dword [0x775360a0], 0
int3
mov eax, dword [ebp - 0xec]
sub dword [esi + 0x10], eax
mov esi, dword [ebp - 0x98]
jmp 0x77460d10
mov dword [ebp - 0xc0], 1
jmp 0x77460ccc
mov dword [esi + ecx*8 - 4], eax
mov byte [esi + 7], 0x3f
jmp 0x77460993
movzx eax, byte [eax + 6]
shl eax, 3
sub dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
jmp 0x77460894
push ecx
mov edx, dword [ebp - 0xac]
call fcn.775015a8
mov edx, dword [ebp - 0x90]
jmp 0x774608ca
push ecx
mov edx, esi
mov ecx, eax
call fcn.775015a8
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x9c]
jmp 0x77460c12
mov dword [ecx], 0
mov dword [ecx + 4], 0
jmp 0x77460c48
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x774609b8
mov eax, 0x7ffe0380
jmp 0x77460ec9