Function at 0x4688f0
Capabilities:
Inspect section memory permissions

Disassembly:
push 0xffffffffffffffff
push 0x56bb98
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push ebp
push esi
push edi
mov eax, dword [0x660038]
xor eax, esp
push eax
lea eax, [esp + 0x34]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x44]
call fcn.00536ea0
xor edx, edx
mov eax, ecx
and eax, 0x3000000
cmp eax, 0x3000000
sete dl
mov esi, edx
xor edx, edx
cmp eax, 0x2000000
sete dl
xor eax, eax
xor ebx, ebx
cmp esi, ebx
setne al
mov dword [esp + 0x2c], esi
mov dword [ebp + 0x99c], edx
push eax
push ecx
call fcn.00536ea0
add esp, 8
lea ecx, [esp + 0x44]
mov eax, ebp
call fcn.00468620
test eax, eax
jge 0x468975
call fcn.00536ea0
xor eax, eax
jmp 0x468eb3
mov cl, byte [ebp + 0x60]
lea eax, [ebp + 0x60]
lea esi, [ebp + 0x9a0]
mov byte [esi], cl
cmp cl, bl
je 0x46899b
mov edx, esi
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
inc edx
mov byte [edx], cl
cmp cl, bl
jne 0x468990
inc eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x44], eax
call fcn.004949f0
mov dword [esp + 0x3c], ebx
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x10]
lea ecx, [eax + 0x10]
mov eax, dword [edx + 0x10]
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
mov edx, dword [eax]
mov edx, dword [edx + 0x18]
push esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, eax
call edx
push ebx
or edi, 0xffffffff
mov eax, str.:_____
lea esi, [esp + 0x24]
call fcn.00494ae0
mov byte [esp + 0x3c], 1
mov eax, esi
push eax
lea eax, [esp + 0x1c]
call fcn.00407eb0
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.004a9950
add esp, 0xc
mov byte [esp + 0x3c], 2
lea edi, [esp + 0x18]
call fcn.00494c50
mov byte [esp + 0x3c], 1
lea ecx, [esp + 0x1c]
call fcn.00494b70
mov byte [esp + 0x3c], bl
mov ecx, esi
call fcn.00494b70
lea edi, [ebp + 0xda0]
mov esi, edi
lea edx, [esp + 0x44]
call fcn.00469630
cmp al, 0x20
jne 0x468acd
lea esi, [esp + 0x20]
call fcn.00469600
mov edx, dword [esp + 0x20]
mov dword [ebp + 0xda8], edx
mov dword [ebp + 0xdac], ebx
cmp al, 0x20
jne 0x468acd
lea esi, [ebp + 0xdb0]
lea edx, [esp + 0x44]
call fcn.00469600
mov ecx, dword [esi]
push ecx
call fcn.00536ea0
add esp, 4
cmp al, 0x20
jne 0x468acd
lea esi, [esp + 0x20]
call fcn.00469600
mov edx, dword [esp + 0x20]
push edx
call fcn.00536ea0
add esp, 4
cmp al, 0x20
jne 0x468acd
lea esi, [esp + 0x20]
lea edx, [esp + 0x44]
call fcn.00469630
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00536ea0
add esp, 4
cmp al, 0x20
jne 0x468acd
lea esi, [esp + 0x20]
call fcn.00469630
mov edx, dword [esp + 0x20]
push edx
call fcn.00536ea0
add esp, 4
cmp al, bl
je 0x468ae1
cmp al, 0x20
je 0x468ae1
movzx eax, al
push eax
call fcn.00536ea0
add esp, 4
mov eax, dword [ebp + 0xdc0]
add eax, 0xfffffffd
cmp eax, 0xa
ja case.0x468af6.5
movzx ecx, byte [eax + 0x468ed8]
jmp dword [ecx*4 + 0x468ecc]
call fcn.00536ea0
jmp 0x468e9d
call fcn.00536ea0
push 1
mov esi, ebp
call fcn.0046aea0
jmp 0x468e9d
push 8
push ebp
call fcn.0046af20
lea eax, [esp + 0x18]
lea esi, [esp + 0x44]
call fcn.00494a10
mov byte [esp + 0x3c], 3
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
call fcn.00407eb0
push eax
mov eax, dword [edx + 0x14]
call eax
mov byte [esp + 0x3c], bl
mov ecx, esi
call fcn.00494b70
mov eax, dword [edi]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
push eax
push ebx
push ebx
call edx
lea ecx, [esp + 0x44]
mov dword [ebp + 0xdb4], ebx
mov dword [ebp + 0xdb8], ebx
mov dword [ebp + 0x50], ebx
call fcn.004949f0
mov byte [esp + 0x3c], 4
jmp 0x468b80
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx]
mov edx, dword [eax + 0x74]
call edx
add eax, 0x998
je 0x468b96
add eax, 0xc
jmp 0x468b98
xor eax, eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx]
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [edx + 0x74]
call eax
mov esi, eax
call fcn.005381e0
mov byte [esp + 0x3c], 5
lea edi, [esp + 0x44]
call fcn.00494c50
mov byte [esp + 0x3c], 4
lea ecx, [esp + 0x24]
call fcn.00494b70
mov eax, edi
call fcn.00495300
cmp eax, ebx
jle 0x468bf6
lea edi, [eax - 1]
lea eax, [esp + 0x44]
call fcn.00495830
cmp word [eax], 0x5c
je 0x468bf6
mov eax, 0x5c
lea ecx, [esp + 0x44]
call fcn.00494d20
lea eax, [esp + 0x18]
lea esi, [esp + 0x28]
call fcn.00494a10
mov byte [esp + 0x3c], 6
push eax
lea edi, [esp + 0x48]
call fcn.00494c90
mov byte [esp + 0x3c], 4
mov ecx, esi
call fcn.00494b70
cmp dword [esp + 0x2c], ebx
je 0x468c46
mov edx, dword [ebp + 0x34]
push 2
lea ecx, [ebp + 0x34]
push 0x40000004
mov eax, edi
call fcn.00407eb0
push eax
mov eax, dword [edx + 4]
call eax
test al, al
jne 0x468d8c
lea eax, [esp + 0x44]
call fcn.00407eb0
mov esi, eax
push esi
call fcn.00536ea0
mov edx, dword [ebp + 0x34]
mov eax, dword [edx + 4]
add esp, 4
push 2
lea ecx, [ebp + 0x34]
push 0x40000000
push esi
call eax
test al, al
jne 0x468dc2
lea ecx, [esp + 0x20]
call fcn.004949f0
mov byte [esp + 0x3c], 7
push esi
lea ecx, [esp + 0x24]
push str.Unable_to_open__1_for_writing
push ecx
call fcn.00495410
add esp, 0xc
push ebx
push ebx
lea eax, [esp + 0x28]
call fcn.00407eb0
push eax
call sub.CommonUI66U.dll_int___cdecl_VMessageBox_wchar_t_const___unsigned_int__wchar_t_const__
add esp, 0xc
mov eax, ebp
call fcn.00467b20
test al, al
jne 0x468e5d
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x74]
call eax
add eax, 0x998
je 0x468ccf
add eax, 0xc
jmp 0x468cd1
xor eax, eax
mov ecx, dword [ebp + 0x18]
push eax
mov eax, dword [ecx]
lea edx, [esp + 0x20]
push edx
mov edx, dword [eax + 0x74]
call edx
mov esi, eax
call fcn.005381e0
mov byte [esp + 0x3c], 8
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x24]
call edx
lea edx, [esp + 0x1c]
mov ecx, eax
call fcn.004a9a20
test al, al
je 0x468e64
mov eax, dword [ebp + 0x18]
mov esi, eax
lea eax, [esp + 0x1c]
call fcn.00407eb0
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x74]
mov ecx, esi
call eax
add eax, 0x9a4
call fcn.00407eb0
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x74]
mov ecx, esi
call eax
mov esi, eax
call fcn.005382a0
test al, al
jne 0x468d5c
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x74]
call eax
mov ecx, eax
add ecx, 0x998
lea eax, [esp + 0x1c]
call fcn.00407e50
mov eax, ebp
call fcn.00467b20
test al, al
jne 0x468e6f
mov byte [esp + 0x3c], 7
lea ecx, [esp + 0x1c]
call fcn.00494b70
mov byte [esp + 0x3c], 4
lea ecx, [esp + 0x20]
call fcn.00494b70
jmp 0x468b80
lea ecx, [ebp + 0x34]
call fcn.00499b30
mov esi, dword [ebp + 0xda0]
mov ecx, dword [ebp + 0x14]
push esi
mov dword [ebp + 0xdb4], eax
mov dword [ebp + 0xdb8], eax
mov edx, dword [ecx]
push eax
push eax
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [ebp + 0xdb4]
push ecx
call fcn.00536ea0
add esp, 4
mov dword [ebp + 0x50], 1
cmp dword [ebp + 0xda0], ebx
jbe 0x468df0
mov ecx, dword [ebp + 0xdb4]
mov eax, ebp
call fcn.0046a6d0
push 3
push ebp
call fcn.0046af20
call fcn.00536ea0
jmp 0x468e90
mov edx, dword [ebp + 0xdac]
mov eax, dword [ebp + 0xda8]
push edx
push eax
lea esi, [ebp + 0x34]
push esi
call fcn.00467b40
add esp, 0xc
call fcn.00499b60
mov ecx, dword [ebp + 0x18]
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0xdb4], ebx
mov byte [ebp + 0x98b], 5
mov dword [ebp + 0x98c], ebx
mov edx, dword [ecx]
mov eax, dword [edx + 0x74]
call eax
add eax, 0x9ec
call fcn.00403c40
test al, al
je 0x468e47
or dword [ebp + 0x98c], 0x20000000
mov esi, ebp
call fcn.00469810
push 5
push ebp
call fcn.0046af20
call fcn.00536ea0
jmp 0x468e90
call fcn.00536ea0
jmp 0x468e82
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x10]
lea ecx, [ebp + 0xc]
call eax
call fcn.00536ea0
mov byte [esp + 0x3c], 7
lea ecx, [esp + 0x1c]
call fcn.00494b70
mov byte [esp + 0x3c], 4
lea ecx, [esp + 0x20]
call fcn.00494b70
mov byte [esp + 0x3c], bl
lea ecx, [esp + 0x44]
call fcn.00494b70
mov dword [esp + 0x3c], 0xffffffff
lea ecx, [esp + 0x18]
call fcn.00494b70
mov eax, 1
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 4