Function at 0x7748e8b4
Capabilities:
Access peb ldr_data

Disassembly:
push 0x218
push 0x7751fe30
call fcn.774a6178
mov edi, edx
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0x168], ecx
push 0x13
pop eax
mov word [ebp - 0x180], ax
push 0x14
pop eax
mov word [ebp - 0x17e], ax
mov dword [ebp - 0x17c], 0x77426b40
mov ecx, dword [0x775392d0]
call fcn.774904e5
xor ebx, ebx
push ebx
call fcn.77483630
mov dword [0x77537bb8], eax
push ebx
call fcn.77483630
mov dword [0x77537bc4], eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x120], eax
mov ebx, dword [eax + 0x30]
mov dword [ebp - 0x14c], ebx
push 0x30
pop eax
mov dword [ebp - 0x174], eax
mov dword [0x77537c00], eax
xor eax, eax
inc eax
mov byte [0x77537c04], al
mov eax, 0x77537c0c
mov dword [0x77537c10], eax
mov dword [0x77537c0c], eax
mov eax, 0x77537c14
mov dword [0x77537c18], eax
mov dword [0x77537c14], eax
mov eax, 0x77537c1c
mov dword [0x77537c20], eax
mov dword [0x77537c1c], eax
xor eax, eax
mov byte [0x77537c28], al
mov dword [0x77537c2c], eax
mov dword [ebx + 0xc], 0x77537c00
mov ecx, ebx
call fcn.774ceca2
xor edx, edx
mov dword [0x775368e0], edx
mov eax, dword [ebx + 0x64]
xor ecx, ecx
inc ecx
cmp eax, ecx
mov ecx, 0x400
jbe 0x7748e9a1
mov dword [0x775368e0], ecx
mov dword [0x775365d0], edx
cmp eax, 1
jbe 0x7748e9b2
mov dword [0x775365d0], ecx
dec eax
neg eax
sbb eax, eax
and dword [0x77535860], eax
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx + 0x3c]
xor eax, eax
inc eax
test byte [ecx + 8], al
jne 0x7748e9cd
add edx, ecx
mov dword [ebp - 0x118], edx
mov si, word [ecx + 0x38]
mov word [ebp - 0x11c], si
mov eax, dword [ebp - 0x11c]
add eax, 2
mov word [ebp - 0x11a], ax
mov dword [ebp - 0x114], 8
cmp si, word [ebp - 0x114]
jb 0x7748ea66
push 0x5c
pop edi
cmp word [edx], di
jne 0x7748ea60
push 0x3f
pop ebx
cmp word [edx + 2], bx
mov ebx, dword [ebp - 0x14c]
jne 0x7748ea60
push 0x3f
pop ebx
cmp word [edx + 4], bx
mov ebx, dword [ebp - 0x14c]
jne 0x7748ea60
cmp word [edx + 6], di
jne 0x7748ea60
mov edi, 0xfff8
add si, di
mov word [ebp - 0x11c], si
add ax, di
mov word [ebp - 0x11a], ax
lea eax, [edx + 8]
mov dword [ebp - 0x118], eax
add word [ecx + 0x38], di
add word [ecx + 0x3a], di
mov eax, dword [ebp - 0x114]
add dword [ecx + 0x3c], eax
mov edi, dword [ebp - 0xf0]
xor eax, eax
inc eax
mov dword [ebp - 0x158], eax
xor ecx, ecx
mov byte [0x77537bc8], cl
mov byte [ebp - 0xe1], cl
mov dword [ebp - 0x170], ecx
lea eax, [ebp - 0xec]
push eax
push ecx
push ecx
push dword [ebx + 8]
push 3
pop eax
push eax
call fcn.7746ba70
mov esi, dword [ebp - 0xec]
mov dword [0x77537b8c], esi
mov eax, 0x77537a00
push 0x20
pop ecx
mov edx, dword [ebp - 0x114]
mov dword [eax + 4], eax
mov dword [eax], eax
add eax, edx
sub ecx, 1
jne 0x7748eab2
mov ecx, edi
call fcn.774cebcd
call fcn.7748bf92
xor eax, eax
inc eax
push eax
call fcn.7744b104
call fcn.7746e55e
xor edx, edx
inc edx
cmp eax, edx
jne 0x7748eae9
mov dword [0x77537bc0], 0x77421640
mov cl, byte [0x7ffe02d5]
push 3
pop eax
test al, cl
je 0x7748eaff
mov al, byte [esi + 0x5f]
and al, dl
xor edx, edx
jmp 0x7748eb03
xor edx, edx
mov al, dl
test al, al
je 0x7748eb11
xor eax, eax
inc eax
mov byte [0x775384d8], al
jmp 0x7748eb3a
and cl, 0xc
cmp cl, 4
je 0x7748eb2b
mov ecx, esi
call fcn.77476c29
neg al
sbb al, al
inc al
xor ecx, ecx
inc ecx
jmp 0x7748eb30
xor ecx, ecx
inc ecx
mov al, cl
test al, al
jne 0x7748eb3a
mov dword [0x7753586c], ecx
mov esi, 0x775392d8
lea edi, [ebp - 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
shrd ecx, eax, 4
shr eax, 4
mov dword [ebp - 0x13c], eax
push 3
pop eax
and ecx, eax
mov dword [ebp - 0x13c], edx
movzx eax, cl
sub eax, 1
je 0x7748eb8c
sub eax, 1
je 0x7748eb82
sub eax, 1
jne 0x7748eb92
mov dword [0x7753586c], 2
jmp 0x7748eb92
xor eax, eax
inc eax
mov dword [0x7753586c], eax
jmp 0x7748eb92
mov dword [0x7753586c], edx
mov esi, 0x775392d8
lea edi, [ebp - 0x4c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
shrd ecx, eax, 4
shr eax, 4
mov dword [ebp - 0x13c], eax
push 3
pop eax
and ecx, eax
mov dword [ebp - 0x13c], edx
xor eax, eax
inc eax
cmp cl, al
jne 0x7748ebca
mov byte [0x77537b90], al
jmp 0x7748ec09
mov byte [0x77537b90], dl
mov esi, 0x775392d8
lea edi, [ebp - 0x5c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
shrd ecx, eax, 4
shr eax, 4
mov dword [ebp - 0x13c], eax
push 3
pop eax
and ecx, eax
mov dword [ebp - 0x13c], edx
cmp cl, al
je 0x7748ec06
mov byte [0x77537bbc], dl
jmp 0x7748ec0e
xor eax, eax
inc eax
mov byte [0x77537bbc], al
mov eax, dword fs:[0x18]
mov ecx, dword [eax + 0xfdc]
test ecx, ecx
jns 0x7748ec20
add eax, ecx
cmp eax, dword [eax + 0x18]
jne 0x7748ec2d
mov eax, dword [eax + 0xe38]
jmp 0x7748ec33
mov eax, dword [eax + 0x14d0]
mov eax, dword [eax]
mov dword [0x77537ba0], eax
mov ecx, edx
mov dword [0x77537bd0], ecx
xor edx, edx
inc edx
test dl, al
jne 0x7748ec56
shr eax, 1
inc ecx
test dl, al
je 0x7748ec49
mov dword [0x77537bd0], ecx
call fcn.774cf2c6
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x12c]
push eax
mov esi, dword [ebp - 0xf0]
push esi
mov edx, ebx
lea ecx, [ebp - 0x11c]
call fcn.7748e252
mov dword [ebp - 0xe0], eax
test eax, eax
jns 0x7748ecc0
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x774904d9
push eax
mov ecx, dword [ebp - 0x120]
push dword [ecx + 0x20]
push 0x77426b58
xor eax, eax
push eax
push 0x77426bac
push 0xeb3
jmp 0x774904c0
mov ecx, dword [ebp - 0x12c]
call fcn.774cef5f
cmp dword [0x77538790], 0
je 0x7748ecea
xor eax, eax
mov dword [ebx + 0xc], eax
mov dword [0x77537c30], 2
xor eax, eax
jmp 0x774904df
push 2
pop eax
test byte [ebx + 0x68], al
je 0x7748ecfb
xor ecx, ecx
inc ecx
or dword [0x77535760], ecx
test byte [0x77535760], 5
je 0x7748ed2a
mov ecx, dword [ebp - 0x120]
push dword [ecx + 0x20]
push 0x77426bc4
push eax
push 0x77426bac
push 0xedc
push 0x774255b0
call fcn.774cb8e2
add esp, 0x18
xor al, al
je 0x7748ed2f
int3
cmp byte [0x77537bc8], 0
jne 0x7748ed65
lea eax, [ebp - 0x13c]
push eax
push 0xe
xor eax, eax
inc eax
push eax
push dword [ebx + 8]
call fcn.77459a20
test eax, eax
je 0x7748ed65
xor ecx, ecx
inc ecx
mov byte [0x77537bc8], cl
test byte [eax + 0x10], cl
je 0x7748ed65
mov byte [ebp - 0xe1], cl
mov dword [0x77537bf0], esi
mov edi, dword [ebx + 0x1e8]
mov dword [ebp - 0x128], edi
mov eax, dword [ebx + 0x70]
mov dword [0x77537900], eax
mov eax, dword [ebx + 0x74]
mov dword [0x77537904], eax
push dword [ebx + 0x10]
call fcn.774db4c0
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x108], ecx
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x104], eax
mov ecx, dword [ebx + 8]
call fcn.7746c150
mov esi, eax
push 0x30
pop edi
push edi
xor eax, eax
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.77498e60
add esp, 0xc
push 2
pop ecx
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x8c], edi
test esi, esi
je 0x7748ee6f
cmp dword [esi], 0x10
jb 0x7748ede5
mov eax, dword [esi + 0xc]
not eax
and dword [ebx + 0x68], eax
cmp dword [esi], 0x14
jb 0x7748edf0
mov eax, dword [esi + 0x10]
or dword [ebx + 0x68], eax
cmp dword [esi], 0x18
jb 0x7748ee0e
mov eax, dword [esi + 0x14]
test eax, eax
je 0x7748ee0e
mov edx, 0xffffd8f0
imul edx
mov dword [0x77537900], eax
mov dword [0x77537904], edx
cmp dword [esi], edi
jb 0x7748ee33
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x7748ee33
mov edx, eax
and edx, 0xffff0fff
je 0x7748ee29
mov dword [ebp - 0xf4], edx
and eax, 0xf000
mov dword [0x775384f0], eax
cmp dword [esi], 0x1c
jb 0x7748ee42
mov eax, dword [esi + 0x18]
test eax, eax
je 0x7748ee42
mov dword [ebp - 0x80], eax
cmp dword [esi], 0x20
jb 0x7748ee51
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x7748ee51
mov dword [ebp - 0x7c], eax
cmp dword [esi], 0x28
jb 0x7748ee60
mov eax, dword [esi + 0x24]
test eax, eax
je 0x7748ee60
mov dword [ebp - 0x78], eax
cmp dword [esi], 0x2c
jb 0x7748ee6f
mov eax, dword [esi + 0x28]
test eax, eax
je 0x7748ee6f
mov dword [ebp - 0x74], eax
xor eax, eax
inc eax
test byte [ebx + 0x68], cl
je 0x7748ee7d
or dword [0x77535760], eax
cmp dword [0x77537904], 0xfffffff7
jg 0x7748ee99
jl 0x7748ee94
cmp dword [0x77537900], 0x9e3b9800
jae 0x7748ee99
mov byte [0x775378fc], al
call fcn.7748722b
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
mov dword [ebx + 0x218], 0x77537be0
mov dword [ebx + 0x40], 0x77537bb0
mov dword [ebx + 0x150], 0x77537b98
mov edi, 0x80
mov dword [0x77537be0], edi
lea ecx, [ebx + 0x21c]
mov dword [0x77537be4], ecx
movsx eax, byte [ecx]
bts eax, 0
mov byte [ecx], al
lea eax, [ebx + 0x210]
mov dword [eax + 4], eax
mov dword [eax], eax
mov dword [0x77537bb0], 0x40
lea ecx, [ebx + 0x44]
mov dword [0x77537bb4], ecx
movsx eax, byte [ecx]
bts eax, 0
mov byte [ecx], al
mov dword [0x77537b98], 0x400
lea ecx, [ebx + 0x154]
mov dword [0x77537b9c], ecx
movsx eax, byte [ecx]
bts eax, 0
mov byte [ecx], al
xor eax, eax
inc eax
push eax
push 0x10
push dword [ebx + 0x40]
call fcn.7747eaf0
test dword [ebx + 0x68], 0x1000
jne 0x7748ef51
mov al, byte [0x77538796]
test al, al
je 0x7748f016
push 0x10
pop esi
mov dword [ebp - 0x15c], esi
cmp byte [0x77537bf4], 0
jne 0x7748ef8b
xor eax, eax
push eax
push eax
push 4
lea eax, [ebp - 0x15c]
push eax
push 4
push 0x77426be0
lea eax, [ebp - 0x11c]
push eax
call fcn.77476ff0
mov esi, dword [ebp - 0x15c]
jmp 0x7748ef90
mov eax, 0xc0000034
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x7748ef9f
cmp esi, 0x10
jae 0x7748efa6
mov esi, 0x1000000
jmp 0x7748efb4
cmp esi, edi
jbe 0x7748efb1
mov esi, 0x8000000
jmp 0x7748efb4
shl esi, 0x14
test byte [0x77535760], 5
je 0x7748efe1
mov eax, esi
shr eax, 0x14
push eax
push 0x77426c18
push 2
push 0x77426bac
push 0x100d
push 0x774255b0
call fcn.774cb8e2
add esp, 0x18
xor al, al
je 0x7748efe6
int3
xor eax, eax
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], esi
lea eax, [ebp - 0x1a8]
push eax
push 0xc
pop edx
xor ecx, ecx
call fcn.774fcb44
mov dword [ebp - 0xe0], eax
mov al, byte [0x77538796]
test dword [ebx + 0x68], 0x1000
jne 0x7748f023
test al, al
je 0x7748f02e
xor edx, edx
inc edx
mov byte [0x775367c0], dl
jmp 0x7748f031
xor edx, edx
inc edx
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x1d8]
and eax, 0x400000
xor ecx, ecx
or eax, ecx
je 0x7748f054
mov byte [0x775367c0], dl
mov byte [0x775367c1], dl
push ecx
push ecx
mov esi, 0x775379c0
push esi
call fcn.774503e0
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
mov dword [ebx + 0x1c], esi
lea ecx, [ebp - 0x11c]
call fcn.774797f3
mov esi, 0x775392d8
lea edi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
shrd ecx, eax, 0xc
shr eax, 0xc
mov dword [ebp - 0x13c], eax
push 3
pop eax
and ecx, eax
xor eax, eax
mov dword [ebp - 0x13c], eax
xor edx, edx
inc edx
cmp cl, dl
jne 0x7748f0b9
push eax
push eax
push edx
push eax
call fcn.7748b080
mov eax, dword [ebp - 0xec]
push 3
pop ecx
cmp word [eax + 0x48], cx
mov ecx, dword [ebp - 0xf4]
ja 0x7748f0db
cmp word [eax + 0x4a], 0x33
jae 0x7748f0db
or ecx, 0x10000
lea edx, [ebp - 0x8c]
push edx
xor edx, edx
push edx
push dword [eax + 0x6c]
push dword [eax + 0x68]
push edx
push ecx
call fcn.7744d2b0
mov esi, eax
test esi, esi
jne 0x7748f137
mov eax, dword [0x77535760]
push 3
pop ecx
test cl, al
je 0x7748f128
push 0x77426c40
xor eax, eax
push eax
push 0x77426bac
push 0x106f
push 0x774255b0
call fcn.774cb8e2
add esp, 0x14
mov eax, dword [0x77535760]
test al, 0x10
je 0x7748f12d
int3
mov eax, 0xc0000017
jmp 0x774904df
mov dword [ebx + 0x18], esi
test dword [ebx + 0x68], 0x800000
je 0x7748f148
call fcn.774fc3ef
mov ecx, dword [ebp - 0x120]
call fcn.77484164
mov dword [0x77537bf8], esi
xor eax, eax
mov dword [0x775360d0], eax
mov dword [0x775360d4], eax
mov dword [0x775360c0], eax
mov dword [ebp - 0xe0], eax
push 0x77426c68
push 0x77426d78
push eax
push esi
call fcn.77488ff0
mov dword [0x77537bfc], eax
call fcn.77488f65
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
push 0x775360b8
xor eax, eax
push eax
push eax
push 0x77424f98
call fcn.77472510
push 0x775365d8
xor eax, eax
push eax
push 0x774f6390
push 0x77426b20
call fcn.77472510
push 0x77538678
xor eax, eax
push eax
push 0x775016f0
push 0x77426aec
call fcn.77472510
call fcn.7747aa77
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
call fcn.77489069
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x148], ecx
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0x108], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x118], eax
mov edx, dword [ebp - 0x12c]
test edx, edx
jne 0x7748f233
cmp dword [ebp - 0x130], edx
je 0x7748f280
xor eax, eax
push eax
push ecx
push 4
lea eax, [ebp - 0x170]
push eax
push 4
push 0x77426d88
mov ecx, dword [ebp - 0x130]
call fcn.774476ed
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x7748f280
cmp dword [0x775352dc], 0
je 0x7748f280
cmp dword [ebp - 0x170], 0
je 0x7748f280
xor eax, eax
mov dword [0x775352dc], eax
mov eax, dword [str._memicmp]
and dword [eax], 0xfffffbff
call fcn.7745ce10
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.77472c30
mov eax, dword [ebp - 0x154]
movzx edi, ax
add edi, 0x28
push edi
xor eax, eax
push eax
push esi
call fcn.77463940
test eax, eax
je 0x7748f12d
xor ecx, ecx
mov word [ebp - 0x138], cx
mov word [ebp - 0x136], di
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.77471550
push 0x774210e0
lea eax, [ebp - 0x138]
push eax
call fcn.77471550
mov al, byte [ebx + 3]
and al, 0x42
cmp al, 2
je 0x7748f4f6
push 0x18
pop edi
mov dword [ebp - 0x198], edi
xor eax, eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x18c], 0x40
mov dword [ebp - 0x190], 0x77421690
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x198]
push eax
push 3
pop eax
push eax
push 0x775378f8
call fcn.77492ee0
mov dword [ebp - 0xe0], eax
cmp eax, 0xc0000034
jne 0x7748f389
test byte [ebx + 3], 0x40
je 0x7748f389
test byte [0x77535760], 5
je 0x7748f377
push 0x77426db4
push 2
push 0x77426bac
push 0x115a
push 0x774255b0
call fcn.774cb8e2
add esp, 0x14
xor al, al
je 0x7748f37c
int3
xor edx, edx
mov dword [ebp - 0xe0], edx
jmp 0x7748f4f8
test eax, eax
jns 0x7748f3bb
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x774904d9
push eax
push 0x77421690
push 0x77426df4
xor eax, eax
push eax
push 0x77426bac
push 0x1164
jmp 0x774904c0
mov dword [ebp - 0x198], edi
mov eax, dword [0x775378f8]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x18c], 0x40
mov edi, 0x77421680
mov dword [ebp - 0x190], edi
xor eax, eax
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x198]
push eax
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.77493b80
mov dword [ebp - 0xe0], eax
test eax, eax
jns 0x7748f43a
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x774904d9
push eax
push edi
push 0x77426df4
xor eax, eax
push eax
push 0x77426bac
push 0x11a7
jmp 0x774904c0
push 0x30
pop eax
push eax
xor eax, eax
push eax
push esi
call fcn.77463940
mov edi, eax
test edi, edi
je 0x7748f12d
xor eax, eax
mov word [0x77537908], ax
mov eax, dword [ebp - 0x174]
mov word [0x7753790a], ax
mov dword [0x7753790c], edi
lea eax, [ebp - 0x19c]
push eax
push 0x77537908
push dword [ebp - 0x178]
call fcn.77493e70
mov dword [ebp - 0xe0], eax
test eax, eax
jns 0x7748f4e1
cmp eax, 0xc0000023
jne 0x7748f4ab
push edi
xor eax, eax
push eax
push esi
call fcn.77461440
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x174], eax
jmp 0x7748f43d
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x774904d9
push eax
push 0x77426e20
xor eax, eax
push eax
push 0x77426bac
push 0x11ca
push 0x774255b0
call fcn.774cb8e2
add esp, 0x18
jmp 0x774904cd
push dword [ebp - 0x178]
call fcn.77492a30
push 0x77537908
call fcn.7745cc20
xor edx, edx
cmp byte [0x77537bf4], 0
je 0x7748f528
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xf4], 6
jmp 0x7748f5db
mov ecx, dword [ebp - 0x148]
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x110], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x10c], eax
test eax, eax
je 0x7748f553
cmp word [ebp - 0x110], 0
je 0x7748f553
cmp word [eax], dx
jne 0x7748f519
push dword [ebp - 0x114]
push edx
push esi
call fcn.77463940
mov esi, eax
mov dword [ebp - 0x10c], esi
test esi, esi
jne 0x7748f593
mov eax, dword [0x77535760]
push 3
pop ecx
test cl, al
je 0x7748f128
push 0x77426e70
xor eax, eax
push eax
push 0x77426bac
push 0x11fc
jmp 0x7748f116
xor eax, eax
mov dword [ebp - 0x158], eax
call fcn.7745ce10
mov ecx, dword [eax]
mov dword [esi], ecx
mov cx, word [eax + 4]
mov eax, dword [ebp - 0x10c]
mov word [eax + 4], cx
xor ecx, ecx
mov eax, dword [ebp - 0x10c]
mov word [eax + 6], cx
push 6
pop edi
mov dword [ebp - 0xf4], edi
mov word [ebp - 0x110], di
mov eax, dword [ebp - 0x114]
mov word [ebp - 0x10e], ax
call fcn.774833d1
movzx esi, word [ebp - 0x138]
mov eax, dword [ebx + 0x10]
test dword [eax + 8], 0x20000000
je 0x7748f5fa
lea esi, [esi*2 + 0x16]
mov edi, esi
movzx eax, byte [0x775358c0]
xor ecx, ecx
inc ecx
and eax, ecx
test al, al
jne 0x7748f62d
mov eax, dword [ebp - 0x154]
movzx edi, ax
add edi, 9
lea edi, [esi + edi*2]
test byte [ebx + 3], 2
je 0x7748f62d
xor ecx, ecx
mov eax, dword [ebp - 0x148]
mov word [eax + 0x30], cx
push edi
xor eax, eax
push eax
mov eax, dword fs:[0x30]
push dword [eax + 0x18]
call fcn.77463940
mov dword [ebp - 0xfc], eax
test eax, eax
jne 0x7748f670
mov eax, dword [0x77535760]
push 3
pop ecx
test cl, al
je 0x7748f128
push 0x77426eb4
xor eax, eax
push eax
push 0x77426bac
push 0x124f
jmp 0x7748f116
xor eax, eax
mov word [ebp - 0x100], ax
mov word [ebp - 0xfe], di
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.77471550
movzx eax, word [ebp - 0x100]
shr eax, 1
push 0x3b
pop edx
mov ecx, dword [ebp - 0xfc]
mov word [ecx + eax*2 - 2], dx
mov eax, dword [ebp - 0x100]
mov dword [0x775384dc], eax
mov dword [0x775384e0], ecx
mov dword [0x77537ba8], eax
mov dword [0x77537bac], ecx
add eax, 0xfffffffe
mov word [0x77537ba8], ax
mov eax, dword [ebx + 0x10]
test dword [eax + 8], 0x20000000
je 0x7748f6ff
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.77471550
push 0x77426ee0
lea eax, [ebp - 0x100]
push eax
call fcn.7745ccf0
cmp edi, esi
jbe 0x7748f761
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.77471550
push 0x77426ef8
lea eax, [ebp - 0x100]
push eax
call fcn.7745ccf0
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.77471550
push 0x77424f54
lea eax, [ebp - 0x100]
push eax
call fcn.7745ccf0
mov eax, dword [ebp - 0x100]
mov dword [0x775384e4], eax
mov eax, dword [ebp - 0xfc]
mov dword [0x775384e8], eax
mov eax, dword [0x7753878c]
test eax, eax
je 0x7748f77a
cmp eax, 0xffffffff
je 0x7748f77a
lea ecx, [ebp - 0x108]
call fcn.774ce1ed
lea eax, [ebp - 0x144]
push eax
xor eax, eax
push eax
push eax
push dword [ebp - 0xf0]
push 3
pop eax
push eax
call fcn.7746ba70
xor ecx, ecx
call fcn.77471343
mov edi, eax
test edi, edi
jne 0x7748f7c8
mov eax, dword [0x77535760]
push 3
pop ecx
test cl, al
je 0x7748f128
push 0x77426f0c
xor eax, eax
push eax
push 0x77426bac
push 0x12ba
jmp 0x7748f116
mov dword [0x77537bec], edi
mov eax, dword [edi + 0x50]
or dword [eax + 0xc], 0xffffffff
mov eax, dword [edi + 0x50]
mov eax, dword [eax]
mov ecx, 0xffff
mov word [eax - 0x1c], cx
or dword [edi + 0x34], 0x204
mov eax, dword [0x77539240]
sub dword [edi + 0x80], eax
lea ecx, [edi + 0x24]
mov eax, dword [ebp - 0x138]
mov dword [ecx], eax
mov eax, dword [ebp - 0x134]
mov dword [ecx + 4], eax
push 0x774216a0
push ecx
call fcn.77471550
mov eax, dword [0x774216a0]
mov esi, dword [0x77537bec]
mov dword [esi + 0x2c], eax
mov eax, dword [0x774216a4]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0xf0]
mov dword [esi + 0x18], eax
mov ecx, esi
call fcn.774597ef
push 0x14a5
lea edx, [esi + 0x24]
mov ecx, dword [esi + 0x18]
call fcn.7746e8eb
mov edx, dword [ebp - 0x144]
mov ecx, dword [0x77537bec]
call fcn.7748a4d5
mov ecx, dword [0x77537bec]
call fcn.7747160f
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
push 0x14ae
mov ecx, dword [0x77537bec]
lea edx, [ecx + 0x24]
mov ecx, dword [ecx + 0x18]
call fcn.7746e8eb
mov eax, dword [0x77537bec]
mov eax, dword [eax + 0x50]
mov dword [eax + 0x20], 9
lea eax, [edi + 0x10]
mov edx, dword [0x77537c1c]
mov ecx, 0x77537c1c
cmp dword [edx + 4], ecx
je 0x7748f8b3
push 3
pop eax
mov ecx, eax
int 0x29
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [edx + 4], eax
mov dword [0x77537c1c], eax
call fcn.7744ccc5
mov dword [ebp - 0xe0], eax
test eax, eax
jns 0x7748f8f8
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x774904d9
push eax
push 0x77426f48
xor eax, eax
push eax
push 0x77426bac
push 0x1309
jmp 0x7748f4cf
xor ecx, ecx
call fcn.7746e5c8
push 0x50
xor eax, eax
push eax
lea eax, [ebp - 0xdc]
push eax
call fcn.77498e60
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
push 0x5c
push eax
lea eax, [ebp - 0x204]
push eax
call fcn.77498e60
add esp, 0x18
lea eax, [ebp - 0xdc]
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], 0x200
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x200], eax
lea eax, [ebp - 0xe0]
mov dword [ebp - 0x1f0], eax
lea ecx, [ebp - 0x204]
call fcn.77471343
mov esi, eax
test esi, esi
jne 0x7748f9a2
mov eax, dword [0x77535760]
push 3
pop ecx
test cl, al
je 0x7748f128
push 0x77426f7c
xor eax, eax
push eax
push 0x77426bac
push 0x131e
jmp 0x7748f116
mov dword [0x775379a4], esi
mov eax, dword [esi + 0x50]
or dword [eax + 0xc], 0xffffffff
mov eax, dword [esi + 0x50]
or dword [eax + 0xc], 0xffffffff
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov ecx, 0xffff
mov word [eax - 0x1c], cx
mov eax, dword [ebp - 0x108]
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x104]
mov dword [esi + 0x28], eax
or dword [esi + 0x34], 4
mov eax, dword [esi + 0x34]
cmp byte [0x77537bc8], 0
je 0x7748f9ff
or eax, 0x400000
mov dword [esi + 0x34], eax
cmp byte [ebp - 0xe1], 0
je 0x7748f9ff
or eax, 0x1000000
mov dword [esi + 0x34], eax
xor eax, eax
test byte [ebx + 3], 4
je 0x7748fa0d
mov dword [esi + 0x80], eax
mov edi, eax
movzx edx, word [ebp - 0x108]
mov ecx, dword [ebp - 0x104]
add edx, ecx
mov eax, edx
je 0x7748fa3e
jmp 0x7748fa35
sub eax, 2
push 0x5c
pop ecx
cmp word [eax], cx
mov ecx, dword [ebp - 0x104]
je 0x7748fa3b
cmp eax, ecx
ja 0x7748fa24
jmp 0x7748fa3e
lea edi, [eax + 2]
test edi, edi
je 0x7748fa6f
sub edx, edi
mov word [esi + 0x2c], dx
movzx ecx, word [ebp - 0x106]
movzx eax, word [ebp - 0x108]
sub ecx, eax
cmp ecx, 2
jb 0x7748fa66
lea eax, [edx + 2]
mov word [esi + 0x2e], ax
jmp 0x7748fa6a
mov word [esi + 0x2e], dx
mov dword [esi + 0x30], edi
jmp 0x7748fa7b
mov eax, dword [esi + 0x24]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x28]
mov dword [esi + 0x30], eax
mov ecx, dword [ebx + 8]
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0x34], ecx
je 0x7748faae
cmp byte [ebp - 0xe1], 0
jne 0x7748faae
sub esp, 0xc
call fcn.774cded1
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
mov esi, dword [0x775379a4]
mov eax, dword [ebx + 8]
mov dword [esi + 0x18], eax
mov ecx, esi
call fcn.774597ef
mov edi, 0x77426bac
test byte [0x77535760], 5
je 0x7748fafd
push 0x77536e40
lea eax, [ebp - 0x110]
push eax
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 0x2c]
push eax
push 0x77426fb8
push 2
push edi
push 0x1396
push 0x774255b0
call fcn.774cb8e2
add esp, 0x24
mov esi, dword [0x775379a4]
xor al, al
je 0x7748fb02
int3
push 0x14a5
lea edx, [esi + 0x24]
mov ecx, dword [esi + 0x18]
call fcn.7746e8eb
mov edx, dword [ebp - 0xec]
mov ecx, dword [0x775379a4]
call fcn.7748a4d5
mov ecx, dword [0x775379a4]
call fcn.7747160f
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
mov eax, dword [0x775379a4]
mov eax, dword [eax + 0x50]
mov dword [eax + 0x20], 9
lea ecx, [ebp - 0x110]
call fcn.7747fc71
mov dword [ebp - 0xe0], eax
test eax, eax
jns 0x7748fb9c
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x7748fb96
push eax
lea eax, [ebp - 0x110]
push eax
push 0x77427010
xor eax, eax
push eax
push edi
push 0x13bb
push 0x774255b0
call fcn.774cb8e2
add esp, 0x1c
mov ecx, dword [0x77535760]
test cl, 0x10
je 0x7748fb9c
int3
cmp dword [ebp - 0x158], 0
jne 0x7748fbb1
lea eax, [ebp - 0x110]
push eax
call fcn.77461410
test dword [ebx + 0x68], 0x2000100
je 0x7748fd0e
xor ecx, ecx
call fcn.77471343
mov esi, eax
test esi, esi
jne 0x7748fbee
mov eax, dword [0x77535760]
push 3
pop ecx
test cl, al
je 0x7748f128
push 0x77427058
xor eax, eax
push eax
push edi
push 0x13d2
jmp 0x7748f116
mov eax, dword [esi + 0x50]
or dword [eax + 0xc], 0xffffffff
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov ecx, 0xffff
mov word [eax - 0x1c], cx
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ecx + 0x34]
or dword [esi + 0x34], eax
mov eax, dword [ecx + 0x80]
mov dword [esi + 0x80], eax
xor eax, eax
mov word [esi + 0x3a], ax
mov eax, dword [ecx + 0x24]
mov dword [esi + 0x24], eax
mov eax, dword [ecx + 0x28]
mov dword [esi + 0x28], eax
mov eax, dword [ecx + 0x2c]
mov dword [esi + 0x2c], eax
mov eax, dword [ecx + 0x30]
mov dword [esi + 0x30], eax
mov eax, dword [ecx + 0x44]
mov dword [esi + 0x44], eax
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x18], eax
mov ecx, esi
call fcn.774597ef
push 0x14a5
lea edx, [esi + 0x24]
mov ecx, dword [esi + 0x18]
call fcn.7746e8eb
lea eax, [ebp - 0x144]
push eax
xor eax, eax
push eax
push eax
push dword [esi + 0x18]
push 3
pop eax
push eax
call fcn.7746ba70
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
mov edx, dword [ebp - 0x144]
mov ecx, esi
call fcn.7748a4d5
mov ecx, esi
call fcn.7747160f
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax + 0x1c]
mov dword [esi + 0x1c], eax
push 0x14ad
lea edx, [esi + 0x24]
mov ecx, dword [esi + 0x18]
call fcn.7746e8eb
mov eax, dword [esi + 0x50]
mov dword [eax + 0x20], 7
xor eax, eax
xor edx, edx
test dword [ebx + 0x68], 0x100
je 0x7748fceb
push eax
push dword [ebp - 0xf0]
xor ecx, ecx
inc ecx
push ecx
push eax
xor cl, cl
call fcn.774d36cb
jmp 0x7748fd00
mov byte [ebp - 0xf5], al
lea eax, [ebp - 0xf5]
push eax
mov ecx, dword [esi + 0x50]
call fcn.77459599
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
call fcn.774862f7
xor eax, eax
mov dword [ebp - 0x160], eax
cmp byte [0x77537bc8], al
je 0x7748fd94
lea ecx, [ebp - 0x160]
call fcn.774470c2
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
cmp byte [ebp - 0xe1], 0
je 0x7748fd5b
mov ecx, dword [ebx + 8]
call fcn.774481ad
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
mov eax, 0x400
mov ecx, dword [ebp - 0x120]
test word [ecx + 0xfca], ax
je 0x7748fd94
mov edx, dword [0x7ffe0330]
mov eax, edx
and eax, 0x1f
push 0x20
pop ecx
sub ecx, eax
mov eax, dword [0x77537c34]
ror eax, cl
xor eax, edx
mov ecx, dword [ebp - 0x168]
mov dword [ecx + 0xb0], eax
call fcn.7747e451
mov dword [ebp - 0xe0], eax
test eax, eax
jns 0x7748fdc8
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x774904d9
push eax
push 0x774270a0
xor eax, eax
push eax
push edi
push 0x14aa
jmp 0x7748f4cf
mov ecx, dword [ebp - 0x160]
test ecx, ecx
je 0x7748fe1a
xor eax, eax
mov byte [ebp - 0xf6], al
lea eax, [ebp - 0xf6]
push eax
xor edx, edx
mov ecx, dword [ecx + 0x50]
call fcn.77459599
mov dword [ebp - 0xe0], eax
test eax, eax
jns 0x7748fe1a
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x774904d9
push eax
push 0x774270d8
xor eax, eax
push eax
push edi
push 0x14bd
jmp 0x7748f4cf
xor edx, edx
mov dword [ebp - 0x164], edx
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x5c]
push 2
pop eax
cmp cx, ax
je 0x7748fe40
push 3
pop eax
cmp cx, ax
jne 0x7749002c
lea eax, [ebp - 0x124]
push eax
mov esi, 0x774210d8
push esi
push edx
push 0x4001
call fcn.77470f00
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x7748ff94
push dword [ebp + 4]
xor eax, eax
push eax
push 0x775378f4
push eax
push 0x77421688
push dword [ebp - 0x124]
call fcn.7746a7d0
mov dword [ebp - 0xe0], eax
test eax, eax
jns 0x7748fec4
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x774904d9
push eax
push esi
push 0x77421688
push 0x77427120
xor eax, eax
push eax
push edi
push 0x14eb
push 0x774255b0
call fcn.774cb8e2
add esp, 0x20
jmp 0x774904cd
push dword [ebp + 4]
xor ecx, ecx
push ecx
lea eax, [ebp - 0x164]
push eax
push ecx
push 0x77421698
push dword [ebp - 0x124]
call fcn.7746a7d0
push dword [ebp + 4]
xor eax, eax
push eax
push 0x775384d4
push eax
lea eax, [ebp - 0x180]
push eax
push dword [ebp - 0x124]
call fcn.7746a7d0
mov dword [ebp - 0xe0], eax
test eax, eax
jns 0x7748ff67
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x7748ff48
push eax
push esi
lea eax, [ebp - 0x180]
push eax
push 0x77427120
xor eax, eax
inc eax
push eax
push edi
push 0x1502
push 0x774255b0
call fcn.774cb8e2
add esp, 0x20
mov eax, dword [ebp - 0xe0]
mov ecx, dword [0x77535760]
test cl, 0x40
je 0x7748ff4e
int3
and dword [0x775384d4], 0
cmp eax, 0xc000007a
je 0x7748ff67
cmp eax, 0xc0000139
jne 0x774904df
call fcn.7746f0f0
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
call fcn.774877b2
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
xor edx, edx
jmp 0x7749002c
cmp eax, 0xc0000135
jne 0x774904a3
lea eax, [ebp - 0x124]
push eax
mov esi, 0x774210a8
push esi
xor eax, eax
push eax
push 0x4001
call fcn.77470f00
mov dword [ebp - 0xe0], eax
test eax, eax
jns 0x7748ffe9
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x774904d9
push eax
push esi
push 0x77427178
xor eax, eax
push eax
push edi
push 0x152f
jmp 0x774904c0
call fcn.774877b2
mov dword [ebp - 0xe0], eax
test eax, eax
jns 0x77490024
cmp eax, 0xc0000135
je 0x77490024
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x774904d9
push eax
push 0x774271b8
xor eax, eax
push eax
push edi
push 0x153f
jmp 0x7748f4cf
xor edx, edx
mov dword [ebp - 0xe0], edx
mov eax, dword [0x7753586c]
cmp eax, 0xffffffff
jne 0x77490079
push edx
push 4
lea eax, [ebp - 0xe8]
push eax
push 0x22
push 0xffffffffffffffff
call fcn.77492ad0
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x77490065
mov eax, dword [ebp - 0xe8]
and eax, 0x48
cmp al, 0x48
jne 0x77490065
xor eax, eax
inc eax
jmp 0x774900b5
movzx eax, byte [0x7ffe02d5]
shr eax, 2
push 3
pop ecx
and eax, ecx
mov dword [0x7753586c], eax
push 2
pop ecx
cmp eax, ecx
jne 0x774900a2
mov esi, dword [ebp - 0xec]
movzx edx, word [esi + 0x48]
cmp dx, word [ebp - 0xf4]
ja 0x7749009b
jne 0x774900a2
cmp word [esi + 0x4a], cx
jb 0x774900a2
xor eax, eax
mov dword [0x7753586c], eax
push 3
pop ecx
cmp eax, ecx
jne 0x774900ba
movzx eax, byte [0x7ffe02d5]
shr eax, 2
and eax, ecx
mov dword [0x7753586c], eax
xor esi, esi
mov ecx, esi
mov dword [ebp - 0xe8], ecx
mov dl, byte [0x7ffe02d5]
and dl, 3
cmp dl, 1
je 0x774900e2
cmp byte [0x775384d8], cl
jne 0x774900e2
test dl, dl
jne 0x774900eb
push 0xa
jmp 0x774900e4
push 0xd
pop ecx
mov dword [ebp - 0xe8], ecx
test ecx, ecx
je 0x77490117
xor edx, edx
inc edx
mov byte [0x775384d8], dl
cmp eax, edx
jne 0x77490105
or ecx, 0x40
mov dword [ebp - 0xe8], ecx
push 4
lea eax, [ebp - 0xe8]
push eax
push 0x22
push 0xffffffffffffffff
call fcn.77492b20
xor ecx, ecx
call fcn.7746e5c8
xor ecx, ecx
call fcn.77479b80
mov eax, dword [ebp - 0x128]
test eax, eax
je 0x77490141
cmp dword [eax + 8], esi
je 0x77490141
mov dword [ebx + 0x1ec], esi
mov ecx, eax
call fcn.7744280b
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x1d8]
and eax, 0x400000
or eax, esi
je 0x7749015e
xor eax, eax
inc eax
mov byte [0x775367c0], al
mov esi, dword [ebp - 0x148]
mov ecx, dword [esi + 0x2a0]
call fcn.77451547
xor edx, edx
inc edx
mov dword [0x775384d0], edx
mov ecx, dword [0x775379a4]
mov eax, dword [ecx + 0x50]
mov dword [eax + 0x20], 2
mov eax, dword [ebp - 0x1f0]
and dword [eax], 0
cmp byte [ebp - 0xe1], 0
je 0x774901a1
call fcn.77447f5b
jmp 0x774901d7
or dword [ebp - 0x1f8], edx
lea ecx, [ebp - 0x204]
call fcn.7745ee00
xor eax, eax
lea ecx, [eax + 1]
call fcn.7746e5c8
mov eax, dword [ebp - 0xe0]
test eax, eax
js 0x774901e1
mov edx, dword [ebp - 0x1f0]
mov ecx, dword [0x775379a4]
call fcn.7745650c
mov dword [ebp - 0xe0], eax
test eax, eax
jns 0x77490206
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x774904d9
push eax
push 0x774271f0
xor eax, eax
push eax
push edi
push 0x1618
jmp 0x7748f4cf
mov dword [0x775384d0], 2
cmp byte [ebx + 2], 0
je 0x7749021b
call fcn.774ce7d0
call fcn.774862f7
cmp byte [0x775384d8], 0
jne 0x774902bc
mov al, byte [0x7ffe02d5]
push 3
pop ecx
and al, cl
push 2
pop ecx
cmp al, cl
jne 0x77490256
test dword [esi + 8], 0x20000
jne 0x77490256
mov eax, dword [ebp - 0xec]
xor edx, edx
inc edx
cmp word [eax + 0x5c], dx
jne 0x7749028c
mov ecx, dword [ebp - 0xec]
call fcn.774ce3d4
test al, al
jne 0x77490289
mov ecx, dword [ebp - 0xec]
call fcn.774cfaf0
test al, al
je 0x77490289
mov ecx, dword [ebp - 0xec]
call fcn.774ce2ef
test al, al
jne 0x77490289
xor eax, eax
mov ecx, eax
jmp 0x7749028c
push 2
pop ecx
mov dword [ebp - 0xe8], ecx
xor eax, eax
inc eax
cmp dword [0x7753586c], eax
jne 0x774902a6
or ecx, 0x40
mov dword [ebp - 0xe8], ecx
test ecx, ecx
je 0x774902bc
push 4
lea eax, [ebp - 0xe8]
push eax
push 0x22
push 0xffffffffffffffff
call fcn.77492b20
mov esi, dword [0x775378f4]
test esi, esi
je 0x77490301
xor eax, eax
push eax
mov ecx, esi
call dword [0x775391d0]
xor edx, edx
xor eax, eax
lea ecx, [eax + 1]
call esi
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
mov ecx, dword [ebp - 0x164]
call fcn.7748ace8
mov dword [ebp - 0xe0], eax
test eax, eax
js 0x774904df
mov eax, dword [ebp - 0x168]
mov dword [0x77537bd8], eax
xor ecx, ecx
call fcn.7746e5c8
call fcn.77453fab
mov eax, dword [0x775379a4]
mov byte [ebp - 0xf7], 0
lea ecx, [ebp - 0xf7]
push ecx
mov edx, dword [ebp - 0x1f0]
mov ecx, dword [eax + 0x50]
call fcn.77459599
mov dword [ebp - 0xe0], eax
push ecx
push eax
push 9
pop edx
call fcn.77453ffa
mov edx, dword [ebp - 0x1f0]
mov ecx, dword [0x775379a4]
mov ecx, dword [ecx + 0x50]
call fcn.7747d752
call fcn.774862f7
xor ecx, ecx
mov dword [0x77537bd8], ecx
cmp byte [ebp - 0x90], cl
je 0x7749037f
push dword [ebp - 0xdc]
call fcn.77468ed0
xor ecx, ecx
mov eax, dword [ebp - 0xe0]
test eax, eax
jns 0x774903ae
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x774904d9
push eax
push 0x77427250
xor eax, eax
push eax
push edi
push 0x169f
jmp 0x7748f4cf
mov edx, dword [0x775379a4]
cmp word [edx + 0x3a], cx
je 0x77490427
mov dword [ebp - 0x228], 0x24
xor eax, eax
inc eax
mov dword [ebp - 0x224], eax
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x220]
rep stosd dword es:[edi], eax
mov edx, dword [edx + 0x48]
lea ecx, [ebp - 0x228]
call fcn.7745ab50
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [0x775379a4]
lea ecx, [eax + 1]
call fcn.7745d2f5
mov dword [ebp - 4], 0xfffffffe
mov edi, dword [ebp - 0x128]
call fcn.7749041b
jmp 0x7749042d
mov edi, dword [ebp - 0x128]
cmp byte [0x77538470], 0
je 0x7749045e
push dword [0x775391f4]
call fcn.77447eb0
mov esi, eax
push edi
lea eax, [ebp - 0x11c]
push eax
mov ecx, esi
call dword [0x775391d0]
call esi
test al, al
jne 0x7749045e
call fcn.774a5ed2
mov esi, dword [ebx + 0x14c]
test esi, esi
je 0x77490472
mov ecx, esi
call dword [0x775391d0]
call esi
cmp dword [ebp - 0x12c], 0
je 0x77490486
push dword [ebp - 0x12c]
call fcn.77492a30
cmp dword [ebp - 0x130], 0
je 0x7748ece3
push dword [ebp - 0x130]
call fcn.77492a30
jmp 0x7748ece3
mov ecx, dword [0x77535760]
push 3
pop edx
test dl, cl
je 0x774904d9
push eax
push esi
push 0x77427178
xor eax, eax
push eax
push edi
push 0x154a
push 0x774255b0
call fcn.774cb8e2
add esp, 0x1c
mov eax, dword [ebp - 0xe0]
mov ecx, dword [0x77535760]
test cl, 0x10
je 0x774904df
int3
call fcn.774a61c0
ret