Function at 0x690ee0
Capabilities:
Inspect section memory permissions

Disassembly:
mov ecx, dword [0x98d270]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xdc]
cmp eax, dword [ecx + 8]
jbe 0x691b88
sub esp, 0x15c
mov byte [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 4], eax
call fcn.00477890
mov eax, dword [esp + 0x14]
test eax, eax
je 0x690f3a
xor ecx, ecx
jmp 0x690f4a
mov edx, dword [esp + 0xc]
test edx, edx
jbe 0x691b7e
mov ecx, dword [esp + 8]
mov dword [esp + 0xb8], ecx
lea edi, [esp + 0x118]
xor eax, eax
call fcn.00468c1f
call fcn.006904a0
lea ecx, [0x6e2500]
mov dword [esp], ecx
call fcn.0040c4f0
mov ecx, dword [esp + 4]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x118], 4
mov edx, dword [esp + 0xb8]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 0
mov dword [esp + 0x14], 0x8000004
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
lea edx, [esp + 0x118]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
call fcn.0047ad60
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x691752
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 4]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea edx, [0x691be0]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0xa0], ecx
lea ecx, [esp + 0x94]
mov dword [esp], ecx
call fcn.004375c0
test eax, eax
jne 0x69177d
lea eax, [0x728330]
mov dword [esp], eax
call fcn.00444390
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax]
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
lea edx, [0x691ba0]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x70]
mov dword [esp], ecx
call fcn.004375c0
test eax, eax
jne 0x691771
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax]
mov dword [esp + 0x5c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x58], edx
nop
lea ebx, [0x6dab20]
mov dword [esp], ebx
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x16c]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x170]
mov dword [eax + 8], edx
mov edx, dword [0x98d4e0]
test edx, edx
jne 0x6910d0
mov edx, dword [esp + 0x168]
jmp 0x6910de
call fcn.00468990
mov edx, dword [esp + 0x168]
mov dword [edi], edx
mov dword [eax], edx
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xffffffff
lea ecx, [0x773be0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.006593d0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x691752
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x20]
lea ebp, [0x6a93e0]
cmp ecx, ebp
jne 0x691b68
mov dword [esp + 0xc4], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xc0], edx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0xd0], ecx
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x50], edx
lea ebx, [0x6fa8a0]
mov dword [esp], ebx
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [esp + 0x114], eax
mov dword [eax], 0x100002
mov dword [esp + 0x100], eax
lea ecx, [0x6b7fa0]
mov dword [esp], ecx
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov dword [eax], ecx
mov edx, dword [esp + 0x100]
mov dword [eax + 4], edx
mov edx, dword [0x95d654]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.00475690
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], eax
call fcn.006904a0
call fcn.006904a0
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x691752
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 0xa4]
mov dword [esp + 0x54], ecx
lea edx, [0x6bd460]
mov dword [esp], edx
call fcn.0040c4f0
mov eax, dword [esp + 0x54]
add eax, 8
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x108], ecx
lea edx, [0x6bd4a0]
mov dword [esp], edx
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.0044e050
mov eax, dword [esp + 0xc]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xfc], eax
mov ecx, dword [esp + 0x108]
mov dword [esp + 0xf8], ecx
lea ecx, [0x6b8020]
mov dword [esp], ecx
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov edx, dword [esp + 0x40]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xfc]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 4
mov ebx, dword [esp + 0xf8]
mov dword [eax + 0x10], ebx
mov ebx, dword [0x95d65c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00475690
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
call fcn.006904a0
call fcn.006904a0
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x691752
mov eax, dword [esp + 0xcc]
mov eax, dword [eax]
mov dword [esp + 0x54], eax
nop
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jne 0x691328
lea eax, [0x6b7fa0]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov edx, dword [esp + 0x54]
mov dword [eax + 4], edx
mov ebx, dword [0x95d660]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.00475690
cmp dword [esp + 0x10], 1
je 0x691730
lea eax, [0x6bd420]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [esp + 0x10c], eax
lea ecx, [0x6b8020]
mov dword [esp], ecx
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov edx, dword [esp + 0x50]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0xd0]
mov ebp, dword [ebx + 0x38]
mov dword [eax + 8], ebp
mov dword [eax + 0xc], 0x3000
mov dword [eax + 0x10], 0x40
mov ebp, dword [0x95d650]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00475690
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
lea ecx, [0x728334]
mov dword [esp], ecx
call fcn.00444390
mov eax, dword [esp + 0x30]
test eax, eax
je 0x6913c6
mov ecx, dword [esp + 0x10c]
mov dword [ecx], eax
jmp 0x691437
lea eax, [0x6b8020]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov edx, dword [esp + 0xd0]
mov ebx, dword [edx + 0x38]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 0x3000
mov dword [eax + 0x10], 0x40
mov ebx, dword [0x95d650]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00475690
mov eax, dword [esp + 0x10]
test eax, eax
je 0x69170e
mov ecx, dword [esp + 0x10c]
mov dword [ecx], eax
lea eax, [0x6bd420]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x10c]
cmp dword [edx], ecx
je 0x6914d4
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf0], eax
lea ecx, [0x6b8020]
mov dword [esp], ecx
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov edx, dword [esp + 0x40]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xf4]
mov dword [eax + 8], edx
mov dword [eax + 0xc], 4
mov edx, dword [esp + 0xf0]
mov dword [eax + 0x10], edx
mov edx, dword [0x95d664]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00475690
cmp dword [esp + 0x10], 1
je 0x6916ec
call fcn.006904a0
mov eax, dword [esp + 0xd0]
mov word [eax + 0x44], 2
mov ecx, dword [esp + 0x10c]
mov edx, dword [ecx]
mov ebx, dword [esp + 0x50]
cmp edx, ebx
je 0x691530
mov ebx, dword [esp + 0xc4]
movzx ebp, word [ebx + 0x12]
test bp, 1
ja 0x69150e
mov dword [eax + 0x1c], edx
jmp 0x691530
mov byte [esp + 0x174], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x178], eax
call fcn.00437b50
add esp, 0x15c
ret
mov edx, dword [eax + 0x10]
add edx, dword [ecx]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 0xb0], edx
mov dword [esp + 0xec], ebx
lea edx, [0x6b7fa0]
mov dword [esp], edx
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov dword [eax], ecx
mov ecx, dword [esp + 0xec]
mov dword [eax + 4], ecx
mov ecx, dword [0x95d658]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.00475690
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x691752
mov edx, dword [esp + 0x16c]
test edx, edx
jbe 0x691b5f
mov eax, dword [esp + 0x168]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xe4], eax
lea ecx, [0x6b8020]
mov dword [esp], ecx
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov edx, dword [esp + 0x10c]
mov ebx, dword [edx]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0xe8]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0xd0]
mov ebp, dword [ebx + 0x3c]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0xe4]
mov dword [eax + 0x10], ebp
mov ebp, dword [0x95d664]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00475690
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x691752
lea eax, [0x6bd420]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov dword [esp + 0x110], eax
mov dword [esp + 0xe0], eax
lea ecx, [0x6b8020]
mov dword [esp], ecx
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov edx, dword [esp + 0x10c]
mov ebx, dword [edx]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0xd0]
mov ebp, dword [ebx + 0x3c]
mov dword [eax + 8], ebp
mov dword [eax + 0xc], 2
mov ebp, dword [esp + 0xe0]
mov dword [eax + 0x10], ebp
mov ebp, dword [0x95d668]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00475690
mov eax, dword [esp + 0x10]
test eax, eax
je 0x6916ca
xor eax, eax
jmp 0x691790
mov byte [esp + 0x174], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x178], eax
call fcn.00437b50
add esp, 0x15c
ret
mov byte [esp + 0x174], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x178], eax
call fcn.00437b50
add esp, 0x15c
ret
mov byte [esp + 0x174], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x178], eax
call fcn.00437b50
add esp, 0x15c
ret
mov byte [esp + 0x174], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x178], eax
call fcn.00437b50
add esp, 0x15c
ret
mov byte [esp + 0x174], 0
mov dword [esp + 0x178], 0
call fcn.00437b50
add esp, 0x15c
ret
call fcn.00437b50
add esp, 0x15c
ret
call fcn.00437b50
add esp, 0x15c
ret
mov ecx, dword [esp + 0x44]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
jge 0x691aab
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0xc8], edx
mov ebx, dword [edx + 0x3c]
mov ebp, dword [edx + 0x10]
nop
lea esi, [0x773bf4]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
call fcn.00658e10
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x691a89
mov edx, dword [esp + 0x1c]
test edx, edx
jbe 0x691b56
mov eax, dword [esp + 0x18]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xd8], eax
lea ecx, [0x6b8020]
mov dword [esp], ecx
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov edx, dword [esp + 0xc8]
mov ebx, dword [edx + 0xc]
mov ebp, dword [esp + 0x10c]
add ebx, dword [ebp]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0xdc]
mov dword [eax + 8], ebx
mov ebx, dword [edx + 0x10]
mov dword [eax + 0xc], ebx
mov ebx, dword [esp + 0xd8]
mov dword [eax + 0x10], ebx
mov ebx, dword [0x95d664]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00475690
cmp dword [esp + 0x10], 1
je 0x691a67
mov edx, dword [esp + 0xc4]
movzx ebx, word [edx + 2]
dec ebx
mov ebp, dword [esp + 0x44]
cmp ebp, ebx
jne 0x6918b9
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 0x38]
mov ebx, dword [esp + 0xc8]
sub ecx, dword [ebx + 0xc]
mov ebx, ecx
jmp 0x6918dc
lea eax, [ebp + 1]
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jbe 0x691b51
mov eax, dword [esp + 0xc0]
mov ebx, dword [eax + ebp*4 + 4]
mov ebx, dword [ebx + 0xc]
mov esi, dword [eax + ebp*4]
sub ebx, dword [esi + 0xc]
mov dword [esp + 0x4c], ebx
lea eax, [0x728338]
mov dword [esp], eax
call fcn.00444390
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xc0]
mov edx, dword [ecx + eax*4]
mov edx, dword [edx + 0x24]
test edx, 0x20000000
jbe 0x691965
test edx, 0x40000000
jbe 0x691929
test edx, 0x80000000
jbe 0x691921
mov ebx, 0x40
jmp 0x6919bf
test edx, 0x20000000
jmp 0x69192f
test edx, 0x20000000
jbe 0x691965
test edx, 0x40000000
jbe 0x691947
mov edx, dword [esp + 0xc8]
mov ebx, 0x20
jmp 0x6919bf
test edx, 0x20000000
jbe 0x691965
test edx, 0x80000000
jbe 0x691965
mov edx, dword [esp + 0xc8]
mov ebx, pe_nt_image_headers32
jmp 0x6919bf
test edx, 0x40000000
jbe 0x691983
test edx, 0x80000000
jbe 0x691983
mov edx, dword [esp + 0xc8]
mov ebx, 4
jmp 0x6919bf
mov edx, dword [esp + 0xc8]
mov ebx, dword [edx + 0x24]
test ebx, 0x20000000
jbe 0x69199c
mov ebx, 0x10
jmp 0x6919bf
test ebx, 0x40000000
jbe 0x6919ab
mov ebx, 2
jmp 0x6919bf
test ebx, 0x80000000
jbe 0x6919ba
mov ebx, 8
jmp 0x6919bf
mov ebx, 1
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0x110]
mov dword [esp + 0xd4], eax
lea ecx, [0x6b8020]
mov dword [esp], ecx
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov edx, dword [esp + 0xc8]
mov edx, dword [edx + 0xc]
mov ebx, dword [esp + 0x10c]
add edx, dword [ebx]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x48]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0xd4]
mov dword [eax + 0x10], edx
mov edx, dword [0x95d668]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov dword [esp + 0xc], 5
call fcn.00475690
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x691789
mov byte [esp + 0x174], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x178], eax
call fcn.00437b50
add esp, 0x15c
ret
mov byte [esp + 0x174], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x178], eax
call fcn.00437b50
add esp, 0x15c
ret
mov byte [esp + 0x174], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x178], eax
call fcn.00437b50
add esp, 0x15c
ret
call fcn.006904a0
lea eax, [0x72833c]
mov dword [esp], eax
call fcn.00444390
lea eax, [0x6b7fa0]
mov dword [esp], eax
call fcn.0040c4f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], 0
mov edx, dword [0x95d64c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.00475690
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x691b2f
mov byte [esp + 0x174], 1
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x178], eax
call fcn.00437b50
add esp, 0x15c
ret
mov byte [esp + 0x174], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x178], eax
call fcn.00437b50
add esp, 0x15c
ret
call fcn.00468a00
xor eax, eax
mov ecx, eax
call fcn.00468a00
xor eax, eax
mov ecx, eax
call fcn.00468a00
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x6be780]
mov dword [esp + 8], eax
call fcn.004099c0
xor eax, eax
mov ecx, eax
call fcn.00468a00
nop
call fcn.00467590
jmp fcn.00690ee0