Function at 0x403200
Capabilities:
Read file via mapping

Disassembly:
sub esp, 0x1a0
mov eax, dword [0x43d68c]
xor eax, esp
mov dword [esp + 0x19c], eax
cmp byte [0x449854], 0
push ebx
push esi
push edi
mov ecx, 0x1c
mov esi, str.D:_A__GRGWGX___WD__A__GA___SY__A__GA___BA__A__GRGWGX___AN__A__GRGWGX___RC__A__GRGWGX___S_1_15_2_1_S:_ML__NW___LW_
lea edi, [esp + 0x134]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xc], 0
movsw word es:[edi], word [esi]
je 0x403255
push 0
lea eax, [esp + 0x10]
push eax
push 1
lea ecx, [esp + 0x140]
push ecx
call sub.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorA
jmp 0x403262
push 1
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], 0xc
mov dword [esp + 0x18], 1
test eax, eax
jne 0x40327e
lea eax, [esp + 0x1c]
mov bl, byte [esp + 0x1b0]
mov dword [esp + 0x14], eax
mov eax, str.Global_
test bl, bl
jne 0x403297
mov eax, 0x4347d6
push eax
lea ecx, [esp + 0x34]
push str._sDBWinMutex
push ecx
call fcn.004124f2
add esp, 0xc
lea edx, [esp + 0x30]
push edx
push 0
push 0x10000000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
movzx esi, bl
add esi, esi
add esi, esi
mov dword [esi + 0x449080], eax
test eax, eax
jne 0x4032e7
lea eax, [esp + 0x30]
push eax
push 0
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [esi + 0x449080], eax
jmp 0x403318
push str.SetSecurityInfo
push str.Advapi32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [esi + 0x449080]
push 0
push 0
push 0
push 0
push 4
push 6
push edx
mov dword [0x450dec], eax
call eax
mov eax, str.Global_
test bl, bl
jne 0x403326
mov eax, 0x4347d6
push eax
lea eax, [esp + 0x34]
push str._sDBWIN_BUFFER
push eax
call fcn.004124f2
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
add esp, 0xc
lea ecx, [esp + 0x30]
push ecx
push 0x1000
push 0
push 4
lea edx, [esp + 0x20]
push edx
push 0xffffffffffffffff
call edi
mov dword [esi + 0x44b8e0], eax
test eax, eax
jne 0x4033aa
lea eax, [esp + 0x30]
push eax
push 0x1000
push 0
push 4
lea ecx, [esp + 0x20]
push ecx
push 0xffffffffffffffff
call edi
mov dword [esi + 0x44b8e0], eax
test eax, eax
jne 0x4033aa
mov eax, dword [esp + 0xc]
test eax, eax
je 0x403390
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [esp + 0x19c]
xor ecx, esp
call fcn.004126a4
add esp, 0x1a0
ret
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4033b9
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edx, dword [esi + 0x44b8e0]
push 0x1000
push 0
push 0
push 6
push edx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [esi + 0x44f980], eax
test eax, eax
jne 0x403402
mov eax, dword [esi + 0x44b8e0]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [esp + 0x19c]
xor ecx, esp
call fcn.004126a4
add esp, 0x1a0
ret
mov eax, str.Global_
test bl, bl
jne 0x403410
mov eax, 0x4347d6
push eax
lea ecx, [esp + 0x34]
push str._sDBWIN_DATA_READY
push ecx
call fcn.004124f2
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventA]
add esp, 0xc
lea edx, [esp + 0x30]
push edx
push 0
push 0
lea eax, [esp + 0x1c]
push eax
call edi
mov dword [esi + 0x44e3a8], eax
cmp eax, 0xffffffff
jne 0x403493
lea ecx, [esp + 0x30]
push ecx
push 0
push 0
lea edx, [esp + 0x1c]
push edx
call edi
mov dword [esi + 0x44e3a8], eax
cmp eax, 0xffffffff
jne 0x403493
mov eax, dword [esi + 0x44f980]
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov ecx, dword [esi + 0x44b8e0]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [esp + 0x19c]
xor ecx, esp
call fcn.004126a4
add esp, 0x1a0
ret
mov eax, str.Global_
test bl, bl
jne 0x4034a1
mov eax, 0x4347d6
push eax
lea edx, [esp + 0x34]
push str._sDBWIN_BUFFER_READY
push edx
call fcn.004124f2
add esp, 0xc
lea eax, [esp + 0x30]
push eax
push 0
push 0
lea ecx, [esp + 0x1c]
push ecx
call edi
mov dword [esi + 0x450de0], eax
cmp eax, 0xffffffff
jne 0x403529
lea edx, [esp + 0x30]
push edx
push 0
push 0
lea eax, [esp + 0x1c]
push eax
call edi
mov dword [esi + 0x450de0], eax
cmp eax, 0xffffffff
jne 0x403529
mov ecx, dword [esi + 0x44f980]
push ecx
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov edx, dword [esi + 0x44e3a8]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
call edi
mov eax, dword [esi + 0x44b8e0]
push eax
call edi
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [esp + 0x19c]
xor ecx, esp
call fcn.004126a4
add esp, 0x1a0
ret
mov ecx, dword [esi + 0x450de0]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [esp + 0x1a8]
pop edi
pop esi
pop ebx
xor ecx, esp
mov al, 1
call fcn.004126a4
add esp, 0x1a0
ret