Function at 0x44a3e8
Capabilities:
Check mutex on windows
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff00
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0xb0]
mov edx, dword [0x40a5d0]
call fcn.00403d40
xor eax, eax
push ebp
push 0x44b2bc
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 8]
mov edx, dword [0x405c74]
call fcn.0040451c
lea eax, [ebp - 0x20]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x44a480
lea eax, [ebp - 0x28]
push eax
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x44a480
push 0
push 0x3e8
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
call fcn.00404eee
push edx
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
call fcn.00404eee
mov dword [0x451678], eax
mov dword [0x45167c], edx
push 0x44b2cc
mov eax, dword [0x44f538]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetProcAddress
test eax, eax
setne byte [0x44ecc0]
mov eax, dword [0x44f518]
mov dword [eax], 0x42eb6c
mov eax, dword [0x44f570]
mov dword [eax], 0x42f090
lea edx, [ebp - 0xd4]
mov eax, dword [0x44f538]
mov eax, dword [eax]
call fcn.004336f4
mov edx, dword [ebp - 0xd4]
mov eax, 0x44f3e4
call fcn.00404918
mov eax, dword [0x44f3e4]
mov edx, dword [eax]
call dword [edx + 0x308]
test al, al
je 0x44a535
mov eax, dword [0x44f3e4]
mov edx, dword [eax]
call dword [edx + 0x30c]
test al, al
je 0x44a535
mov eax, dword [0x44f3e4]
mov edx, dword [eax]
call dword [edx + 0x318]
test al, al
je 0x44a535
mov eax, dword [0x44f538]
mov eax, dword [eax]
call fcn.00449ec8
mov eax, dword [0x44f3e4]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edx, dword [0x44f538]
cmp eax, dword [edx]
je 0x44a535
mov eax, dword [0x44f3e4]
mov edx, dword [eax]
call dword [edx + 0xc]
call fcn.00449ec8
push 0x44b2ec
push 0x44b2f8
call sub.kernel32.dll_GetModuleHandleA_1
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x44eccc], eax
push 0x44b308
push 0x44b318
call sub.kernel32.dll_GetModuleHandleA_1
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x44ecd0], eax
call fcn.0044a2fc
mov eax, dword [0x44f3e4]
mov edx, dword [eax]
call dword [edx + 0x308]
test al, al
je 0x44b23c
lea edx, [ebp - 0xd0]
lea eax, [ebp - 0xbc]
call fcn.004284d4
lea eax, [ebp - 0xdc]
push eax
call sub.kernel32.dll_GetCurrentProcessId
mov cl, 0x30
mov edx, 1
call fcn.00407e78
mov ecx, dword [ebp - 0xdc]
lea eax, [ebp - 0xd8]
mov edx, 0x44b32c
call fcn.0040385c
mov eax, dword [ebp - 0xd8]
call fcn.004039d4
push eax
push 0x14
push 0
push 4
lea eax, [ebp - 0xbc]
push eax
push 0xffffffffffffffff
call sub.kernel32.dll_CreateFileMappingA
mov ebx, eax
call sub.kernel32.dll_GetLastError_1
test eax, eax
jne 0x44a68b
push 0
push 0
push 0
push 0xf001f
push ebx
call sub.kernel32.dll_MapViewOfFile
mov dword [0x44ecc8], eax
mov eax, dword [0x44ecc8]
mov dword [eax + 0xc], 1
push 0
push 0
push 0
call sub.kernel32.dll_CreateMutexA
mov edx, dword [0x44ecc8]
mov dword [edx], eax
push 0
push 0
push 0
call sub.kernel32.dll_CreateMutexA
mov edx, dword [0x44ecc8]
mov dword [edx + 4], eax
mov eax, dword [0x44ecc8]
xor edx, edx
mov dword [eax + 8], edx
mov eax, dword [0x44ecc8]
mov dword [eax + 0x10], ebx
lea eax, [ebp - 8]
call fcn.00427910
cmp dword [ebp - 8], 0
je 0x44a67d
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [0x44ec58], eax
push 0
push 0
push 0
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ecx, 0x44b34c
xor edx, edx
call fcn.00428894
jmp 0x44a6d5
mov eax, dword [0x44f580]
mov eax, dword [eax]
mov dword [0x44ec58], eax
jmp 0x44a6d5
test ebx, ebx
je 0x44a6bb
push 0
push 0
push 0
push 0xf001f
push ebx
call sub.kernel32.dll_MapViewOfFile
mov dword [0x44ecc8], eax
push ebx
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [0x44ecc8]
add eax, 0xc
push eax
call sub.kernel32.dll_InterlockedIncrement_1
jmp 0x44a6d5
push 0
push 0x44b358
push 0x44b364
push 0
call sub.user32.dll_MessageBoxA_1
push 0
call sub.kernel32.dll_ExitProcess_1
cmp dword [0x44ecc8], 0
jne 0x44a6f8
push 0
push 0x44b358
push 0x44b38c
push 0
call sub.user32.dll_MessageBoxA_1
push 0
call sub.kernel32.dll_ExitProcess_1
cmp dword [0x44ec58], 0
jne 0x44a772
push 0xffffffffffffffff
mov eax, dword [0x44ecc8]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_WaitForSingleObject
xor edx, edx
push ebp
push 0x44a756
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x44ecc8]
mov eax, dword [eax + 8]
test eax, eax
je 0x44a73a
mov edx, dword [eax]
mov dword [0x44ec58], edx
mov eax, dword [eax + 8]
test eax, eax
jne 0x44a72b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x44a75d
mov eax, dword [0x44ecc8]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_ReleaseMutex
ret
push 0
call sub.kernel32.dll_GetModuleHandleA_1
mov edx, dword [0x44f538]
cmp eax, dword [edx]
je 0x44a790
cmp byte [0x44ecc0], 0
jne 0x44a790
xor eax, eax
jmp 0x44a792
mov al, 1
mov byte [ebp - 0xd], al
mov eax, dword [0x44f3e4]
mov edx, dword [eax]
call dword [edx + 0x30c]
test al, al
je 0x44b233
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44ec84
call fcn.00449dd8
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44ec88
call fcn.00449dd8
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44ec8c
call fcn.00449dd8
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44ec90
call fcn.00449dd8
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44ec94
call fcn.00449dd8
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44ec98
call fcn.00449dd8
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44ec9c
call fcn.00449dd8
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44eca0
call fcn.00449dd8
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44eca4
call fcn.00449dd8
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44eca8
call fcn.00449dd8
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44ecac
call fcn.00449dd8
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44ecb0
call fcn.00449dd8
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44ecb4
call fcn.00449dd8
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44ecb8
call fcn.00449dd8
mov edx, dword [0x44f538]
mov edx, dword [edx]
mov eax, 0x44ecbc
call fcn.00449dd8
cmp dword [0x44ecb8], 0
je 0x44a8d7
cmp dword [0x44ec84], 0
je 0x44a8d7
cmp dword [0x44ec8c], 0
jne 0x44ab6e
cmp byte [ebp - 0xd], 0
je 0x44ab6e
mov esi, 0x4049e0
cmp word [esi], 0x25ff
jne 0x44a912
add esi, 2
mov eax, dword [esi]
mov esi, dword [eax]
lea ecx, [ebp - 0x14]
lea edx, [ebp - 0xc]
mov eax, esi
call fcn.00409a8c
mov eax, dword [0x44f538]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc]
jne 0x44a912
xor eax, eax
mov dword [ebp - 0xc], eax
push 0x44b3c4
mov ecx, 0x28
mov edx, 0x44b408
mov eax, dword [ebp - 0xc]
call fcn.0044a06c
mov esi, eax
cmp dword [ebp - 0xc], 0
jne 0x44a94a
push 0x44b414
mov ecx, 0x28
mov edx, 0x44b430
mov eax, esi
call fcn.0044a06c
mov dword [ebp - 0xc], eax
xor edi, edi
cmp dword [0x44ecb8], 0
jne 0x44ab0e
cmp dword [ebp - 0xc], 0
je 0x44ab0e
push 0x44b434
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x44ec94], eax
cmp dword [0x44ec94], 0
je 0x44ab03
mov eax, dword [0x44ec94]
cmp byte [eax], 0xe9
je 0x44ab03
push 0x44b464
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x44ec98], eax
push 0x44b494
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x44ec9c], eax
push 0x44b4b8
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_GetProcAddress
lea edx, [ebp - 0x4c]
call fcn.0040e33c
mov bl, 1
jmp 0x44aaef
cmp dword [ebp - 0x44], 0
je 0x44aacd
cmp byte [ebp - 0x45], 0
je 0x44aacd
cmp dword [ebp - 0x38], 4
jne 0x44aacd
test bl, bl
je 0x44aa62
xor ebx, ebx
lea edx, [ebp - 0x70]
mov eax, dword [ebp - 0x44]
call fcn.0040e33c
jmp 0x44aa52
cmp word [ebp - 0x6e], 0xc7
jne 0x44aa30
cmp byte [ebp - 0x6c], 0x40
jne 0x44aa30
mov eax, dword [ebp - 0x50]
sub eax, 5
cmp byte [eax], 4
jne 0x44aa30
mov eax, dword [ebp - 0x50]
sub eax, 4
mov eax, dword [eax]
mov dword [0x44ecb8], eax
jmp 0x44aacd
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x50]
call fcn.0040e33c
push esi
push edi
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x70]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
cmp byte [ebp - 0x70], 0
je 0x44aacd
cmp word [ebp - 0x6e], 0xc3
jne 0x44aa05
jmp 0x44aacd
mov eax, dword [ebp - 0x44]
mov dword [0x44ecb0], eax
lea edx, [ebp - 0x4c]
mov eax, dword [0x44ecb0]
call fcn.0040e33c
jmp 0x44aabd
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x44aa9b
cmp word [ebp - 0x4a], 0xe8
jne 0x44aa9b
cmp byte [ebp - 0x45], 0
je 0x44aa9b
cmp dword [ebp - 0x38], 4
jne 0x44aa9b
mov dword [0x44ecb4], eax
jmp 0x44ab0e
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x2c]
call fcn.0040e33c
push esi
push edi
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x4c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
cmp byte [ebp - 0x4c], 0
je 0x44ab0e
cmp word [ebp - 0x4a], 0xc3
jne 0x44aa79
jmp 0x44ab0e
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x2c]
call fcn.0040e33c
push esi
push edi
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x4c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
cmp byte [ebp - 0x4c], 0
je 0x44ab0e
cmp word [ebp - 0x4a], 0xc3
jne 0x44a9d4
jmp 0x44ab0e
mov byte [ebp - 0xd], 0
xor eax, eax
mov dword [0x44ec94], eax
cmp byte [ebp - 0xd], 0
je 0x44ab6e
cmp dword [0x44ec84], 0
jne 0x44ab41
test esi, esi
je 0x44ab41
push 0x44b4d0
push esi
call sub.kernel32.dll_GetProcAddress
mov dword [0x44ec84], eax
push 0x44b50c
push esi
call sub.kernel32.dll_GetProcAddress
mov dword [0x44ec88], eax
cmp dword [0x44ec8c], 0
jne 0x44ab6e
test edi, edi
je 0x44ab6e
push 0x44b548
push edi
call sub.kernel32.dll_GetProcAddress
mov dword [0x44ec8c], eax
push 0x44b584
push edi
call sub.kernel32.dll_GetProcAddress
mov dword [0x44ec90], eax
mov eax, dword [0x44f520]
mov dword [0x44f4d8], eax
cmp dword [0x44ecb8], 0
je 0x44ab90
mov edx, 0x4487a4
mov eax, dword [0x44ecb8]
call fcn.00442bf0
cmp dword [0x44ec84], 0
je 0x44aba8
mov edx, 0x447a84
mov eax, dword [0x44ec84]
call fcn.00442bf0
cmp dword [0x44ec88], 0
je 0x44abc0
mov edx, 0x447a5c
mov eax, dword [0x44ec88]
call fcn.00442bf0
cmp dword [0x44ec8c], 0
je 0x44abd8
mov edx, 0x447a84
mov eax, dword [0x44ec8c]
call fcn.00442bf0
cmp dword [0x44ec90], 0
je 0x44abf0
mov edx, 0x447a5c
mov eax, dword [0x44ec90]
call fcn.00442bf0
cmp dword [0x44ec94], 0
je 0x44ac08
mov edx, 0x447a30
mov eax, dword [0x44ec94]
call fcn.00442bf0
cmp dword [0x44eca4], 0
je 0x44ac20
mov edx, 0x447ac8
mov eax, dword [0x44eca4]
call fcn.00442bf0
cmp dword [0x44eca8], 0
je 0x44ac38
mov edx, 0x447af0
mov eax, dword [0x44eca8]
call fcn.00442bf0
cmp dword [0x44ecac], 0
je 0x44ac62
mov byte [0x44ec78], 1
mov eax, 0x18
call fcn.004025e8
mov dword [0x44f4e4], eax
mov eax, dword [0x44f4e4]
push eax
call sub.kernel32.dll_InitializeCriticalSection_1
cmp dword [0x44ec98], 0
je 0x44ad3d
cmp dword [0x44ec9c], 0
je 0x44ad3d
lea edx, [ebp - 0xb0]
mov eax, dword [0x44ec98]
call fcn.0040f58c
mov eax, dword [ebp - 0x90]
call fcn.0040424c
dec eax
jne 0x44aca8
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0xc]
mov dword [0x44ec98], eax
lea edx, [ebp - 0xb0]
mov eax, dword [0x44ec9c]
call fcn.0040f58c
mov eax, dword [ebp - 0x90]
call fcn.0040424c
dec eax
jne 0x44acd4
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0xc]
mov dword [0x44ec9c], eax
lea edx, [ebp - 0x4c]
mov eax, dword [0x44ec98]
call fcn.0040e33c
jmp 0x44ad2e
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x44ad10
cmp eax, dword [0x44ec9c]
jne 0x44ad10
cmp dword [ebp - 0x38], 4
jne 0x44ad3d
cmp byte [ebp - 0x45], 0
je 0x44ad3d
mov edx, 0x448268
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
call fcn.00442c20
jmp 0x44ad3d
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x2c]
call fcn.0040e33c
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x4c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov ax, word [ebp - 0x4a]
add eax, 0xffffff3e
sub ax, 2
jae 0x44ace3
lea edx, [ebp - 0x100]
mov eax, sub.user32.dll_MessageBoxA_1
call fcn.0040e33c
mov eax, dword [ebp - 0xf8]
call fcn.0041087c
mov edi, eax
xor ebx, ebx
mov byte [ebp - 1], 0
call fcn.00449e08
lea edx, [ebp - 0x4c]
call fcn.0040e33c
jmp 0x44ae37
cmp dword [ebp - 0x44], 0
je 0x44ae17
call fcn.00449df4
mov esi, dword [ebp - 0x44]
cmp eax, esi
jne 0x44adb6
test bl, bl
jne 0x44adb6
cmp dword [ebp - 0x38], 4
jne 0x44ada8
cmp byte [ebp - 0x45], 0
je 0x44ada8
mov edx, 0x448158
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
call fcn.00442c20
cmp byte [ebp - 1], 0
jne 0x44ae4a
mov bl, 1
jmp 0x44ae17
cmp byte [ebp - 1], 0
jne 0x44ae17
lea edx, [ebp - 0x100]
mov eax, esi
call fcn.0040e33c
mov esi, dword [ebp - 0xf8]
test esi, esi
je 0x44ae17
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
je 0x44adef
cmp esi, 0x80000000
jbe 0x44adef
cmp byte [esi], 0x68
jne 0x44adef
inc esi
mov esi, dword [esi]
cmp edi, esi
jne 0x44ae17
cmp dword [ebp - 0x38], 4
jne 0x44ae0f
cmp byte [ebp - 0x45], 0
je 0x44ae0f
mov edx, 0x4481dc
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
call fcn.00442c20
test bl, bl
jne 0x44ae4a
mov byte [ebp - 1], 1
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x2c]
call fcn.0040e33c
push edi
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x4c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
mov ax, word [ebp - 0x4a]
add eax, 0xffffff3e
sub ax, 2
jae 0x44ad72
call fcn.00449e08
lea edx, [ebp - 0x4c]
call fcn.0040e33c
jmp 0x44aea4
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x44ae86
cmp eax, dword [0x44ecb4]
jne 0x44ae86
cmp dword [ebp - 0x38], 4
jne 0x44aeb3
cmp byte [ebp - 0x45], 0
je 0x44aeb3
mov edx, 0x4482f0
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
call fcn.00442c20
jmp 0x44aeb3
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x2c]
call fcn.0040e33c
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x4c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov ax, word [ebp - 0x4a]
add eax, 0xffffff3e
sub ax, 2
jae 0x44ae59
mov ebx, dword [0x44ecb0]
test ebx, ebx
je 0x44af28
cmp dword [0x44ecb4], 0
je 0x44af28
lea edx, [ebp - 0x4c]
mov eax, ebx
call fcn.0040e33c
jmp 0x44af19
mov eax, dword [ebp - 0x44]
cmp eax, dword [0x44ecb4]
jne 0x44aefb
cmp dword [ebp - 0x38], 4
jne 0x44af28
cmp byte [ebp - 0x45], 0
je 0x44af28
mov edx, 0x4482f0
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
call fcn.00442c20
jmp 0x44af28
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x2c]
call fcn.0040e33c
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x4c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov ax, word [ebp - 0x4a]
add eax, 0xffffff3e
sub ax, 2
jae 0x44aed2
mov ebx, dword [0x44ecb4]
test ebx, ebx
je 0x44af94
lea edx, [ebp - 0x4c]
mov eax, ebx
call fcn.0040e33c
jmp 0x44af85
mov eax, dword [ebp - 0x44]
cmp eax, dword [0x44ecb4]
jne 0x44af67
cmp dword [ebp - 0x38], 4
jne 0x44af94
cmp byte [ebp - 0x45], 0
je 0x44af94
mov edx, 0x4482f0
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
call fcn.00442c20
jmp 0x44af94
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x2c]
call fcn.0040e33c
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x4c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov ax, word [ebp - 0x4a]
add eax, 0xffffff3e
sub ax, 2
jae 0x44af3e
lea edx, [ebp - 0x4c]
mov eax, fcn.00402a84
call fcn.0040e33c
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x44afac
mov esi, eax
jmp 0x44afb1
mov esi, fcn.00402a84
call fcn.00449de0
lea edx, [ebp - 0x4c]
call fcn.0040e33c
jmp 0x44b003
cmp esi, dword [ebp - 0x44]
jne 0x44afe3
cmp dword [ebp - 0x38], 4
jne 0x44b012
cmp byte [ebp - 0x45], 0
je 0x44b012
mov edx, 0x448a98
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
call fcn.00442c20
jmp 0x44b012
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x2c]
call fcn.0040e33c
push esi
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x4c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop esi
mov ax, word [ebp - 0x4a]
add eax, 0xffffff3e
sub ax, 2
jae 0x44afc0
call fcn.00449e30
lea edx, [ebp - 0x4c]
call fcn.0040e33c
jmp 0x44b03f
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x2c]
call fcn.0040e33c
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x4c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x4c], 0
je 0x44b074
cmp word [ebp - 0x4a], 0x8b
jne 0x44b065
cmp byte [ebp - 0x48], 0x15
jne 0x44b065
mov eax, dword [ebp - 0x30]
add eax, 2
mov eax, dword [eax]
mov edx, dword [0x44f520]
cmp eax, edx
je 0x44b074
mov ax, word [ebp - 0x4a]
add eax, 0xffffff3e
sub ax, 2
jae 0x44b021
cmp word [ebp - 0x4a], 0x8b
jne 0x44b08c
mov edx, 0x44f4dc
mov eax, dword [ebp - 0x30]
add eax, 2
call fcn.00442c20
call fcn.00449e44
lea edx, [ebp - 0x4c]
call fcn.0040e33c
jmp 0x44b0b9
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x2c]
call fcn.0040e33c
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x4c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x4c], 0
je 0x44b0ee
cmp word [ebp - 0x4a], 0xff
jne 0x44b0df
cmp byte [ebp - 0x48], 0x15
jne 0x44b0df
mov eax, dword [ebp - 0x30]
add eax, 2
mov eax, dword [eax]
mov edx, dword [0x44f520]
cmp eax, edx
je 0x44b0ee
mov ax, word [ebp - 0x4a]
add eax, 0xffffff3e
sub ax, 2
jae 0x44b09b
cmp word [ebp - 0x4a], 0xff
jne 0x44b106
mov edx, 0x44f4e0
mov eax, dword [ebp - 0x30]
add eax, 2
call fcn.00442c20
call fcn.00449e58
lea edx, [ebp - 0x4c]
call fcn.0040e33c
jmp 0x44b133
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x2c]
call fcn.0040e33c
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x4c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x4c], 0
je 0x44b150
cmp word [ebp - 0x4a], 0xe9
je 0x44b150
mov ax, word [ebp - 0x4a]
add eax, 0xffffff3e
sub ax, 2
jae 0x44b115
cmp word [ebp - 0x4a], 0xe9
jne 0x44b169
mov edx, 0x4479dc
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
inc eax
call fcn.00442c20
call fcn.00449e1c
mov esi, eax
lea edx, [ebp - 0x4c]
mov eax, esi
call fcn.0040e33c
jmp 0x44b19c
lea edx, [ebp - 0x100]
mov eax, dword [ebp - 0x2c]
call fcn.0040e33c
push esi
lea esi, [ebp - 0x100]
lea edi, [ebp - 0x4c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop esi
cmp byte [ebp - 0x4c], 0
je 0x44b1a8
cmp byte [ebp - 0x47], 0
je 0x44b17c
mov eax, dword [ebp - 0x44]
mov dword [0x44ecec], eax
mov edx, 0x448808
mov eax, esi
call fcn.00442bf0
call fcn.00441860
call fcn.0042e244
mov eax, dword [0x44f3e4]
call fcn.0044953c
mov eax, dword [0x44f3e4]
mov edx, dword [eax]
call dword [edx + 0x31c]
test al, al
je 0x44b1f8
mov eax, dword [0x44f3e4]
mov edx, dword [eax]
call dword [edx + 0x320]
mov dword [0x44f41c], eax
call fcn.0042e894
mov esi, 4
mov ebx, 0x45169c
push 1
push 0x2000
push 0x400000
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [ebx], eax
push 1
push 0x1000
push 0x80000
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [ebx + 0x10], eax
add ebx, 4
dec esi
jne 0x44b202
mov eax, 0x447e64
test eax, eax
jmp 0x44b26c
lea eax, [ebp - 8]
call fcn.00427910
cmp dword [ebp - 8], 0
je 0x44b256
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [0x44ec58], eax
jmp 0x44b262
mov eax, dword [0x44f580]
mov eax, dword [eax]
mov dword [0x44ec58], eax
mov eax, 0x44f3e4
call fcn.00404900
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x44b2c3
lea eax, [ebp - 0xdc]
mov edx, 2
call fcn.00403618
lea eax, [ebp - 0xd4]
call fcn.00404900
lea eax, [ebp - 0xb0]
mov edx, dword [0x40a5d0]
call fcn.00403e0c
lea eax, [ebp - 0x14]
call fcn.004035f4
lea eax, [ebp - 8]
mov edx, dword [0x405c74]
call fcn.0040451c
ret