Function at 0x7744c0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x114
or eax, 0xffffffff
push ebx
mov ebx, dword [esp + 0x124]
push ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x130]
push esi
mov esi, dword [esp + 0x138]
xor ecx, ecx
lea ebp, [ebx + eax]
push edi
mov edi, dword [esp + 0x128]
lea edx, [ebp - 1]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x1c], edi
test esi, 0xff8f5a6f
je 0x77452b
pop edi
pop esi
pop ebp
lea eax, [ecx - 3]
pop ebx
add esp, 0x114
ret
cmp edi, ecx
je 0x774eb3
cmp ebx, ecx
je 0x774eb3
mov eax, dword [esp + 0x144]
cmp dword [esp + 0x140], ecx
jne 0x774553
cmp eax, ecx
jg 0x774eb3
cmp eax, ecx
jge 0x774567
pop edi
pop esi
pop ebp
mov eax, 0xfffffff1
pop ebx
add esp, 0x114
ret
mov eax, 0x989680
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x20], ecx
mov dword [esp + 0xc8], ecx
cmp eax, ecx
je 0x7745e6
mov edx, dword [eax]
mov dword [esp + 0x14], edx
test dl, 1
je 0x7745a7
mov edx, dword [eax + 4]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
test dl, 2
je 0x7745b7
mov edx, dword [eax + 8]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x14]
test dl, 0x10
je 0x7745c7
mov edx, dword [eax + 0x14]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x14]
test dl, 4
je 0x7745da
mov edx, dword [eax + 0xc]
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x14]
test dl, 8
je 0x7745e6
mov eax, dword [eax + 0x10]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], ecx
jne 0x7745f4
mov dword [esp + 0x10], 0x1034faf8
cmp dword [edi], 0x50435245
je 0x774644
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0xd4]
push ecx
push edx
lea eax, [esp + 0x104]
push eax
push edi
call fcn.00797030
add esp, 0x10
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x774632
pop edi
pop esi
pop ebp
mov eax, 0xfffffffc
pop ebx
add esp, 0x114
ret
cmp dword [esp + 0x20], 0
je 0x774644
lea ecx, [esp + 0xd4]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 8]
mov edx, eax
or edx, esi
shr edx, 4
and edx, 1
mov dword [esp + 0x38], edx
mov edx, eax
shr edx, 0x1c
and edx, 1
mov dword [esp + 0x40], edx
movzx edx, word [ecx + 0x1c]
shr eax, 0x12
and eax, 1
mov dword [esp + 0x34], eax
movzx eax, word [ecx + 0x1a]
imul edx, eax
movzx eax, word [ecx + 0x18]
add edx, edi
add eax, edx
mov edx, dword [esp + 0x138]
mov dword [esp + 0xb8], edx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x134]
add eax, ebx
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], ebx
mov edx, dword [ecx + 8]
shr edx, 5
and edx, 1
mov dword [esp + 0x8c], edx
mov edx, esi
shr edx, 7
and edx, 1
mov dword [esp + 0xcc], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x80], edx
mov edx, esi
shr edx, 8
and edx, 1
mov dword [esp + 0x84], edx
mov edx, esi
shr edx, 0xa
and edx, 1
mov dword [esp + 0x90], edx
mov edx, esi
shr edx, 0xf
and edx, 1
mov dword [esp + 0x94], edx
xor edx, edx
mov dword [esp + 0x98], edx
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x10]
shr eax, 0xb
and eax, 1
mov dword [esp + 0x74], edx
add edx, 0x340
mov dword [esp + 0x88], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x78], edx
test esi, 0x700000
jne 0x774744
mov ecx, dword [ecx + 8]
jmp 0x774746
mov ecx, esi
and ecx, 0x700000
cmp ecx, 0x300000
ja 0x7747a4
je 0x77479d
test ecx, ecx
je 0x7747ce
cmp ecx, 0x100000
je 0x774796
cmp ecx, 0x200000
jne 0x7747b4
mov ecx, 0xa
cmp ecx, 0xff
mov dword [esp + 0x68], 0
jle 0x7747d8
mov edx, ecx
sar edx, 8
mov dword [esp + 0x6c], 2
mov byte [esp + 0x70], dl
mov byte [esp + 0x71], cl
jmp 0x7747e4
mov ecx, 0xd
jmp 0x77476f
mov ecx, 0xd0a
jmp 0x77476f
cmp ecx, 0x400000
je 0x7747ce
cmp ecx, 0x500000
je 0x7747c4
pop edi
pop esi
pop ebp
mov eax, 0xffffffe9
pop ebx
add esp, 0x114
ret
mov dword [esp + 0x68], 2
jmp 0x7747e4
mov dword [esp + 0x68], 1
jmp 0x7747e4
mov dword [esp + 0x6c], 1
mov byte [esp + 0x70], cl
cmp dword [esp + 0x94], 0
je 0x77480b
mov ecx, dword [esp + 0x1c]
test dword [ecx + 8], 0x80000000
je 0x77480b
pop edi
pop esi
pop ebp
mov eax, 0xfffffff3
pop ebx
add esp, 0x114
ret
test eax, eax
je 0x774872
test esi, 0x2000
jne 0x774872
mov esi, dword [esp + 0x134]
push esi
push ebx
call fcn.00796d70
add esp, 8
test eax, eax
jl 0x77483c
pop edi
pop esi
pop ebp
mov eax, 0xfffffff6
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x138]
test eax, eax
jle 0x774872
cmp eax, esi
jge 0x774872
movzx eax, byte [ebp]
cmp eax, 0x7f
jle 0x774872
and eax, 0xc0
je 0x774872
cmp eax, 0xc0
je 0x774872
pop edi
pop esi
pop ebp
mov eax, 0xfffffff5
pop ebx
add esp, 0x114
ret
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 8]
mov edi, dword [esp + 0x144]
and eax, 7
mov dword [esp + 0xd0], eax
mov eax, 0x55555556
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea esi, [eax + eax*2]
movzx eax, word [ebx + 0x12]
test ax, ax
jbe 0x7748f0
movzx ecx, ax
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jl 0x7748f0
lea esi, [ecx + ecx*2 + 3]
lea ecx, [esi*4]
push ecx
call dword [0x1039c38c]
add esp, 4
mov dword [esp + 0x5c], eax
test eax, eax
jne 0x7748e6
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x114
ret
mov dword [esp + 0x2c], 1
jmp 0x7748fb
mov edx, dword [esp + 0x140]
mov dword [esp + 0x5c], edx
lea ecx, [esi + esi]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], esi
mov dword [esp + 0x7c], 0
mov dword [esp + 0xb4], 0xffffffff
mov dword [esp + 0xb0], 2
movzx eax, word [ebx + 0x10]
lea eax, [eax + eax + 2]
cmp eax, edi
mov dword [esp + 0x24], eax
jle 0x774946
mov dword [esp + 0x24], esi
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x77497d
mov eax, dword [esp + 0x24]
cdq
sub eax, edx
sar eax, 1
mov edx, 1
lea ecx, [ecx + esi*4]
sub edx, eax
lea eax, [ecx + edx*4]
sub ecx, 4
cmp ecx, eax
jb 0x77497d
jmp 0x774970
mov dword [ecx], 0xffffffff
sub ecx, 4
cmp ecx, eax
jae 0x774970
cmp dword [esp + 0x38], 0
jne 0x7749d3
test dword [ebx + 8], 0x40000000
je 0x7749b7
movzx eax, word [ebx + 0x14]
mov ecx, eax
and ecx, 0xff
shr eax, 8
and eax, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], eax
je 0x7749d3
mov eax, dword [esp + 0x74]
movzx ecx, byte [eax + ecx]
mov dword [esp + 0x18], ecx
jmp 0x7749d3
cmp dword [esp + 0x40], 0
jne 0x7749d3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x7749d3
test byte [eax + 4], 1
je 0x7749d3
add eax, 8
mov dword [esp + 0x28], eax
test dword [ebx + 8], 0x20000000
je 0x774a06
movzx eax, word [ebx + 0x16]
mov edx, dword [esp + 0x10]
mov ecx, eax
and ecx, 0xff
shr eax, 8
and eax, 1
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + ecx + 0x100]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x48], eax
mov ebx, dword [esp + 0xcc]
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x10], ebx
test edi, edi
je 0x774a3e
mov ecx, dword [esp + 0x24]
lea ecx, [edi + ecx*4]
cmp edi, ecx
jae 0x774a3e
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xa4]
cmp dword [esp + 0x34], 0
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
je 0x774aa9
mov esi, ebp
cmp ebp, eax
jae 0x774aa7
test edi, edi
je 0x774a84
mov edx, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x70]
push ecx
push eax
push edi
push esi
call fcn.00796a50
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 0x7c]
add esp, 0x14
test eax, eax
jne 0x774aa7
mov eax, dword [esp + 0xa4]
jmp 0x774aa2
mov edx, eax
sub edx, ecx
cmp esi, edx
ja 0x774aa2
mov dl, byte [esi]
cmp dl, byte [esp + 0x70]
jne 0x774aa2
cmp ecx, 1
je 0x774aa7
mov dl, byte [esi + 1]
cmp dl, byte [esp + 0x71]
je 0x774aa7
inc esi
cmp esi, eax
jb 0x774a53
mov ebx, esi
cmp dword [esp + 0x18], 0
jl 0x774b08
cmp dword [esp + 0x3c], 0
je 0x774ae0
cmp ebp, ebx
jae 0x774bd3
nop
movzx eax, byte [ebp]
mov ecx, dword [esp + 0x74]
movzx edx, byte [eax + ecx]
cmp edx, dword [esp + 0x18]
je 0x774bd3
inc ebp
cmp ebp, ebx
jb 0x774ac0
jmp 0x774bd3
cmp ebp, ebx
jae 0x774bd3
jmp 0x774af0
movzx eax, byte [ebp]
cmp eax, dword [esp + 0x18]
je 0x774bd3
inc ebp
cmp ebp, ebx
jb 0x774af0
jmp 0x774bd3
cmp dword [esp + 0x40], 0
je 0x774ba5
mov edx, dword [esp + 0x138]
mov eax, dword [esp + 0xa0]
add edx, eax
cmp ebp, edx
jbe 0x774bd3
cmp ebp, ebx
ja 0x774b88
jmp 0x774b38
mov eax, dword [esp + 0xa0]
test edi, edi
je 0x774b63
cmp ebp, eax
jbe 0x774b83
mov ecx, dword [esp + 0x14]
push ecx
lea edx, [esp + 0x70]
push edx
push eax
push edi
push ebp
call fcn.00796b80
mov edi, dword [esp + 0x7c]
add esp, 0x14
test eax, eax
jne 0x774b88
mov ecx, dword [esp + 0x6c]
jmp 0x774b83
add eax, ecx
cmp ebp, eax
jb 0x774b83
mov dl, byte [esp + 0x70]
mov eax, ebp
sub eax, ecx
cmp byte [eax], dl
jne 0x774b83
cmp ecx, 1
je 0x774b88
mov dl, byte [esp + 0x71]
cmp byte [eax + 1], dl
je 0x774b88
inc ebp
cmp ebp, ebx
jbe 0x774b31
cmp byte [ebp - 1], 0xd
jne 0x774bd3
cmp edi, 1
je 0x774b98
cmp edi, 2
jne 0x774bd3
cmp ebp, ebx
jae 0x774bd3
cmp byte [ebp], 0xa
jne 0x774bd3
inc ebp
jmp 0x774bd3
cmp dword [esp + 0x28], 0
je 0x774bd3
cmp ebp, ebx
jae 0x774bd3
movzx eax, byte [ebp]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x28]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
jne 0x774bd3
inc ebp
cmp ebp, ebx
jb 0x774bb0
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x10]
test edx, edx
jl 0x774c77
mov ecx, ebx
sub ecx, ebp
cmp ecx, 0x3e8
jge 0x774c77
cmp dword [esp + 0x94], 0
jne 0x774c77
xor eax, eax
cmp dword [esp + 0x18], eax
setge al
add eax, ebp
cmp eax, dword [esp + 0x44]
jbe 0x774c77
cmp dword [esp + 0x4c], 0
je 0x774c5c
cmp eax, ebx
jae 0x774c30
mov esi, dword [esp + 0x48]
lea ecx, [ecx]
movzx ecx, byte [eax]
inc eax
cmp ecx, edx
je 0x774c6e
cmp ecx, esi
je 0x774c6e
cmp eax, ebx
jb 0x774c20
xor edi, edi
cmp dword [esp + 0x2c], 0
je 0x774c47
mov eax, dword [esp + 0x5c]
push eax
call dword [0x1039c390]
add esp, 4
test edi, edi
je 0x774e81
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
cmp eax, ebx
jae 0x774c30
movzx ecx, byte [eax]
inc eax
cmp ecx, edx
je 0x774c6e
cmp eax, ebx
jb 0x774c60
jmp 0x774c30
dec eax
cmp eax, ebx
jae 0x774c30
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x9c]
push 0
push 0
push 0
push edx
lea eax, [esp + 0x60]
push eax
push 2
push ebp
push ecx
push ebp
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x74], 0
call fcn.0076e6d0
mov edi, eax
add esp, 0x24
test edi, edi
jg 0x774dd1
je 0x774cd8
lea eax, [edi + 0x3e7]
cmp eax, 3
ja 0x774dd1
jmp dword [eax*4 + 0x10204a14]
cmp dword [esp + 0x14], 0
lea esi, [ebp + 1]
je 0x774cff
mov eax, dword [esp + 0x10]
cmp esi, eax
jae 0x774cff
lea ebx, [ebx]
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x774cff
inc esi
cmp esi, eax
jb 0x774cf0
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0xa4]
xor edi, edi
cmp dword [esp + 0x34], edi
je 0x774d6f
test ecx, ecx
je 0x774d44
cmp ebp, eax
jae 0x774d6f
mov edx, dword [esp + 0x14]
push edx
lea edx, [esp + 0x70]
push edx
push eax
push ecx
push ebp
call fcn.00796a50
add esp, 0x14
test eax, eax
jne 0x774c32
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x68]
jmp 0x774d6f
mov edx, eax
sub edx, dword [esp + 0x6c]
cmp ebp, edx
ja 0x774d6f
mov dl, byte [esp + 0x70]
cmp byte [ebp], dl
jne 0x774d6f
cmp dword [esp + 0x6c], 1
je 0x774c32
mov dl, byte [esp + 0x71]
cmp byte [ebp + 1], dl
je 0x774c32
cmp dword [esp + 0x38], 0
mov ebp, esi
jne 0x774c32
cmp esi, dword [esp + 0x10]
ja 0x774c32
cmp byte [esi - 1], 0xd
jne 0x774a14
cmp esi, dword [esp + 0x10]
jae 0x774a14
cmp byte [esi], 0xa
jne 0x774a14
mov edx, dword [esp + 0x1c]
test dword [edx + 8], 0x4000000
jne 0x774a14
cmp ecx, 1
je 0x774dc9
cmp ecx, 2
je 0x774dc9
cmp dword [esp + 0x6c], 2
jne 0x774a14
lea ebp, [esi + 1]
jmp 0x774a14
cmp edi, 1
jne 0x774c32
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x144]
je 0x774e2b
cmp esi, 4
mov edi, dword [esp + 0x5c]
jl 0x774e10
mov edx, dword [esp + 0x140]
lea eax, [esi*4 - 8]
push eax
lea ecx, [edi + 8]
push ecx
add edx, 8
push edx
call fcn.00865560
add esp, 0xc
cmp dword [esp + 0xb0], esi
jle 0x774e21
mov dword [esp + 0x7c], 1
push edi
call dword [0x1039c390]
add esp, 4
cmp dword [esp + 0x7c], 0
je 0x774e36
xor eax, eax
jmp 0x774e3f
mov eax, dword [esp + 0x24]
cdq
sub eax, edx
sar eax, 1
cmp esi, 2
jge 0x774e51
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x114
ret
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x140]
sub esi, ecx
mov dword [edx], esi
mov esi, dword [esp + 0xac]
sub esi, ecx
pop edi
mov dword [edx + 4], esi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
cmp dword [esp + 0x94], 0
je 0x774ea5
cmp dword [esp + 0x98], 0
je 0x774ea5
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x114
ret
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x114
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x114
ret