Function at 0x44f2d4
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff08
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0xa8]
mov edx, dword [0x40ce8c]
call fcn.00405590
xor eax, eax
push ebp
push 0x450185
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, dword [0x40821c]
call fcn.004060b4
lea eax, [ebp - 0x18]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x44f36c
lea eax, [ebp - 0x20]
push eax
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x44f36c
push 0
push 0x3e8
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
call fcn.00405a70
push edx
push eax
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
call fcn.00405a70
mov dword [0x4ee828], eax
mov dword [0x4ee82c], edx
push 0x450194
mov eax, dword [0x4ed668]
push eax
call sub.kernel32.dll_GetProcAddress_1
test eax, eax
setne byte [0x4e9cfc]
mov eax, dword [0x4ec400]
mov dword [eax], 0x432828
mov eax, dword [0x4ec784]
mov dword [eax], 0x432d64
lea edx, [ebp - 0xcc]
mov eax, dword [0x4ed668]
call fcn.0043740c
mov edx, dword [ebp - 0xcc]
mov eax, 0x4ea424
call fcn.0040682c
mov eax, dword [0x4ea424]
mov edx, dword [eax]
call dword [edx + 0x308]
test al, al
je 0x44f419
mov eax, dword [0x4ea424]
mov edx, dword [eax]
call dword [edx + 0x30c]
test al, al
je 0x44f419
mov eax, dword [0x4ea424]
mov edx, dword [eax]
call dword [edx + 0x318]
test al, al
je 0x44f419
mov eax, dword [0x4ed668]
call fcn.0044edc4
mov eax, dword [0x4ea424]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp eax, dword [0x4ed668]
je 0x44f419
mov eax, dword [0x4ea424]
mov edx, dword [eax]
call dword [edx + 0xc]
call fcn.0044edc4
push 0x4501b4
push 0x4501c0
call sub.kernel32.dll_GetModuleHandleA_2
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e9d08], eax
push 0x4501d0
push 0x4501e0
call sub.kernel32.dll_GetModuleHandleA_2
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e9d0c], eax
call fcn.0044f1f0
mov eax, dword [0x4ea424]
mov edx, dword [eax]
call dword [edx + 0x308]
test al, al
je 0x450105
lea edx, [ebp - 0xc8]
lea eax, [ebp - 0xb4]
call fcn.0042bcc8
lea eax, [ebp - 0xd4]
push eax
call sub.kernel32.dll_GetCurrentProcessId
mov cl, 0x30
mov edx, 1
call fcn.0040a4dc
mov ecx, dword [ebp - 0xd4]
lea eax, [ebp - 0xd0]
mov edx, 0x4501f4
call fcn.00404e28
mov eax, dword [ebp - 0xd0]
call fcn.00404fdc
push eax
push 0x14
push 0
push 4
lea eax, [ebp - 0xb4]
push eax
push 0xffffffffffffffff
call sub.kernel32.dll_CreateFileMappingA
mov ebx, eax
call sub.kernel32.dll_GetLastError_1
test eax, eax
jne 0x44f56f
push 0
push 0
push 0
push 0xf001f
push ebx
call sub.kernel32.dll_MapViewOfFile
mov dword [0x4e9d04], eax
mov eax, dword [0x4e9d04]
mov dword [eax + 0xc], 1
push 0
push 0
push 0
call fcn.004072e0
mov edx, dword [0x4e9d04]
mov dword [edx], eax
push 0
push 0
push 0
call fcn.004072e0
mov edx, dword [0x4e9d04]
mov dword [edx + 4], eax
mov eax, dword [0x4e9d04]
xor edx, edx
mov dword [eax + 8], edx
mov eax, dword [0x4e9d04]
mov dword [eax + 0x10], ebx
lea eax, [ebp - 4]
call fcn.0042ae60
cmp dword [ebp - 4], 0
je 0x44f561
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [0x4e9c78], eax
push 0
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, 0x450214
xor edx, edx
call fcn.0042c094
jmp 0x44f5b9
mov eax, dword [0x4ec7c0]
mov eax, dword [eax]
mov dword [0x4e9c78], eax
jmp 0x44f5b9
test ebx, ebx
je 0x44f59f
push 0
push 0
push 0
push 0xf001f
push ebx
call sub.kernel32.dll_MapViewOfFile
mov dword [0x4e9d04], eax
push ebx
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [0x4e9d04]
add eax, 0xc
push eax
call sub.kernel32.dll_InterlockedIncrement_1
jmp 0x44f5b9
push 0
push 0x450220
push 0x45022c
push 0
call sub.user32.dll_MessageBoxA_1
push 0
call sub.kernel32.dll_ExitProcess_1
cmp dword [0x4e9d04], 0
jne 0x44f5dc
push 0
push 0x450220
push 0x450254
push 0
call sub.user32.dll_MessageBoxA_1
push 0
call sub.kernel32.dll_ExitProcess_1
cmp dword [0x4e9c78], 0
jne 0x44f656
push 0xffffffffffffffff
mov eax, dword [0x4e9d04]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_WaitForSingleObject
xor edx, edx
push ebp
push 0x44f63a
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x4e9d04]
mov eax, dword [eax + 8]
test eax, eax
je 0x44f61e
mov edx, dword [eax]
mov dword [0x4e9c78], edx
mov eax, dword [eax + 8]
test eax, eax
jne 0x44f60f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x44f641
mov eax, dword [0x4e9d04]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_ReleaseMutex
ret
push 0
call sub.kernel32.dll_GetModuleHandleA_2
cmp eax, dword [0x4ed668]
je 0x44f672
cmp byte [0x4e9cfc], 0
jne 0x44f672
xor eax, eax
jmp 0x44f674
mov al, 1
mov byte [ebp - 9], al
mov eax, dword [0x4ea424]
mov edx, dword [eax]
call dword [edx + 0x30c]
test al, al
je 0x4500fc
mov eax, 0x4e9cc0
mov edx, dword [0x4ed668]
call fcn.0044ece8
mov eax, 0x4e9cc4
mov edx, dword [0x4ed668]
call fcn.0044ece8
mov eax, 0x4e9cc8
mov edx, dword [0x4ed668]
call fcn.0044ece8
mov eax, 0x4e9ccc
mov edx, dword [0x4ed668]
call fcn.0044ece8
mov eax, 0x4e9cd0
mov edx, dword [0x4ed668]
call fcn.0044ece8
mov eax, 0x4e9cd4
mov edx, dword [0x4ed668]
call fcn.0044ece8
mov eax, 0x4e9cd8
mov edx, dword [0x4ed668]
call fcn.0044ece8
mov eax, 0x4e9cdc
mov edx, dword [0x4ed668]
call fcn.0044ece8
mov eax, 0x4e9ce0
mov edx, dword [0x4ed668]
call fcn.0044ece8
mov eax, 0x4e9ce4
mov edx, dword [0x4ed668]
call fcn.0044ece8
mov eax, 0x4e9ce8
mov edx, dword [0x4ed668]
call fcn.0044ece8
mov eax, 0x4e9cec
mov edx, dword [0x4ed668]
call fcn.0044ece8
mov eax, 0x4e9cf0
mov edx, dword [0x4ed668]
call fcn.0044ece8
mov eax, 0x4e9cf4
mov edx, dword [0x4ed668]
call fcn.0044ece8
mov eax, 0x4e9cf8
mov edx, dword [0x4ed668]
call fcn.0044ece8
cmp dword [0x4e9cf4], 0
je 0x44f79b
cmp dword [0x4e9cc0], 0
je 0x44f79b
cmp dword [0x4e9cc8], 0
jne 0x44fa5a
cmp byte [ebp - 9], 0
je 0x44fa5a
mov ebx, 0x406940
cmp word [ebx], 0x25ff
jne 0x44f7d5
add ebx, 2
mov eax, dword [ebx]
mov ebx, dword [eax]
lea ecx, [ebp - 0x10]
lea edx, [ebp - 8]
mov eax, ebx
call fcn.0040c240
mov eax, dword [ebp - 8]
cmp eax, dword [0x4ed668]
jne 0x44f7d5
xor eax, eax
mov dword [ebp - 8], eax
push 0x45028c
mov ecx, 0x46
mov edx, 0x4502d0
mov eax, dword [ebp - 8]
call fcn.0044ef64
mov esi, eax
cmp dword [ebp - 8], 0
jne 0x44f80d
push 0x4502dc
mov ecx, 0x46
mov edx, 0x4502f8
mov eax, esi
call fcn.0044ef64
mov dword [ebp - 8], eax
push 0x450304
mov ecx, 0x46
mov edx, 0x450348
xor eax, eax
call fcn.0044ef64
mov edi, eax
cmp dword [0x4e9cf4], 0
jne 0x44f9fa
cmp dword [ebp - 8], 0
je 0x44f9fa
push 0x450354
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e9cd0], eax
cmp dword [0x4e9cd0], 0
je 0x44f9ef
mov eax, dword [0x4e9cd0]
cmp byte [eax], 0xe9
je 0x44f9ef
push 0x450384
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e9cd4], eax
push 0x4503b4
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e9cd8], eax
push 0x4503d8
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e9cdc], eax
push 0x4503f8
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_GetProcAddress_1
lea edx, [ebp - 0x44]
call fcn.00410ca4
mov bl, 1
jmp 0x44f9db
cmp dword [ebp - 0x3c], 0
je 0x44f9b9
cmp byte [ebp - 0x3d], 0
je 0x44f9b9
cmp dword [ebp - 0x30], 4
jne 0x44f9b9
test bl, bl
je 0x44f94e
xor ebx, ebx
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 0x3c]
call fcn.00410ca4
jmp 0x44f93e
cmp word [ebp - 0x66], 0xc7
jne 0x44f91c
cmp byte [ebp - 0x64], 0x40
jne 0x44f91c
mov eax, dword [ebp - 0x48]
sub eax, 5
cmp byte [eax], 4
jne 0x44f91c
mov eax, dword [ebp - 0x48]
sub eax, 4
mov eax, dword [eax]
mov dword [0x4e9cf4], eax
jmp 0x44f9b9
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x48]
call fcn.00410ca4
push esi
push edi
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x68]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
cmp byte [ebp - 0x68], 0
je 0x44f9b9
cmp word [ebp - 0x66], 0xc3
jne 0x44f8f1
jmp 0x44f9b9
mov eax, dword [ebp - 0x3c]
mov dword [0x4e9cec], eax
lea edx, [ebp - 0x44]
mov eax, dword [0x4e9cec]
call fcn.00410ca4
jmp 0x44f9a9
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x44f987
cmp word [ebp - 0x42], 0xe8
jne 0x44f987
cmp byte [ebp - 0x3d], 0
je 0x44f987
cmp dword [ebp - 0x30], 4
jne 0x44f987
mov dword [0x4e9cf0], eax
jmp 0x44f9fa
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x24]
call fcn.00410ca4
push esi
push edi
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x44]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
cmp byte [ebp - 0x44], 0
je 0x44f9fa
cmp word [ebp - 0x42], 0xc3
jne 0x44f965
jmp 0x44f9fa
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x24]
call fcn.00410ca4
push esi
push edi
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x44]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
cmp byte [ebp - 0x44], 0
je 0x44f9fa
cmp word [ebp - 0x42], 0xc3
jne 0x44f8c0
jmp 0x44f9fa
mov byte [ebp - 9], 0
xor eax, eax
mov dword [0x4e9cd0], eax
cmp byte [ebp - 9], 0
je 0x44fa5a
cmp dword [0x4e9cc0], 0
jne 0x44fa2d
test esi, esi
je 0x44fa2d
push 0x45043c
push esi
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e9cc0], eax
push 0x450478
push esi
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e9cc4], eax
cmp dword [0x4e9cc8], 0
jne 0x44fa5a
test edi, edi
je 0x44fa5a
push 0x4504b4
push edi
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e9cc8], eax
push 0x4504f0
push edi
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e9ccc], eax
mov eax, dword [0x4ec448]
mov dword [0x4ea520], eax
cmp dword [0x4e9cf4], 0
je 0x44fa7c
mov edx, 0x44d69c
mov eax, dword [0x4e9cf4]
call fcn.004477d0
cmp dword [0x4e9cc0], 0
je 0x44fa94
mov edx, 0x44c920
mov eax, dword [0x4e9cc0]
call fcn.004477d0
cmp dword [0x4e9cc4], 0
je 0x44faac
mov edx, 0x44c8f8
mov eax, dword [0x4e9cc4]
call fcn.004477d0
cmp dword [0x4e9cc8], 0
je 0x44fac4
mov edx, 0x44c920
mov eax, dword [0x4e9cc8]
call fcn.004477d0
cmp dword [0x4e9ccc], 0
je 0x44fadc
mov edx, 0x44c8f8
mov eax, dword [0x4e9ccc]
call fcn.004477d0
cmp dword [0x4e9cd0], 0
je 0x44faf4
mov edx, 0x44c8cc
mov eax, dword [0x4e9cd0]
call fcn.004477d0
cmp dword [0x4e9ce0], 0
je 0x44fb0c
mov edx, 0x44c964
mov eax, dword [0x4e9ce0]
call fcn.004477d0
cmp dword [0x4e9ce4], 0
je 0x44fb24
mov edx, 0x44c98c
mov eax, dword [0x4e9ce4]
call fcn.004477d0
cmp dword [0x4e9ce8], 0
je 0x44fb4e
mov byte [0x4e9cb4], 1
mov eax, 0x18
call fcn.00402af0
mov dword [0x4ea530], eax
mov eax, dword [0x4ea530]
push eax
call sub.kernel32.dll_InitializeCriticalSection_1
cmp dword [0x4e9cd4], 0
je 0x44fc29
cmp dword [0x4e9cd8], 0
je 0x44fc29
lea edx, [ebp - 0xa8]
mov eax, dword [0x4e9cd4]
call fcn.00411f18
mov eax, dword [ebp - 0x88]
call fcn.00405dac
dec eax
jne 0x44fb94
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
mov dword [0x4e9cd4], eax
lea edx, [ebp - 0xa8]
mov eax, dword [0x4e9cd8]
call fcn.00411f18
mov eax, dword [ebp - 0x88]
call fcn.00405dac
dec eax
jne 0x44fbc0
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
mov dword [0x4e9cd8], eax
lea edx, [ebp - 0x44]
mov eax, dword [0x4e9cd4]
call fcn.00410ca4
jmp 0x44fc1a
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x44fbfc
cmp eax, dword [0x4e9cd8]
jne 0x44fbfc
cmp dword [ebp - 0x30], 4
jne 0x44fc29
cmp byte [ebp - 0x3d], 0
je 0x44fc29
mov edx, 0x44d12c
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
call fcn.00447800
jmp 0x44fc29
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x24]
call fcn.00410ca4
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x44]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov ax, word [ebp - 0x42]
add eax, 0xffffff3e
sub ax, 2
jae 0x44fbcf
cmp dword [0x4e9cdc], 0
je 0x44fcaa
mov ebx, fcn.00402bdc
cmp word [ebx], 0x25ff
jne 0x44fc45
add ebx, 2
mov eax, dword [ebx]
mov ebx, dword [eax]
lea edx, [ebp - 0x44]
mov eax, dword [0x4e9cdc]
call fcn.00410ca4
jmp 0x44fc9b
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x44fc7d
cmp ebx, eax
jne 0x44fc7d
cmp dword [ebp - 0x30], 4
jne 0x44fcaa
cmp byte [ebp - 0x3d], 0
je 0x44fcaa
mov edx, 0x44d018
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
call fcn.00447800
jmp 0x44fcaa
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x24]
call fcn.00410ca4
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x44]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov ax, word [ebp - 0x42]
add eax, 0xffffff3e
sub ax, 2
jae 0x44fc54
call fcn.0044ed04
lea edx, [ebp - 0x44]
call fcn.00410ca4
xor ebx, ebx
jmp 0x44fd03
cmp byte [ebp - 0x3d], 0
je 0x44fce5
cmp dword [ebp - 0x30], 4
jne 0x44fce5
cmp dword [ebp - 0x3c], 0
je 0x44fce5
test bl, bl
je 0x44fce3
mov edx, 0x44d070
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
call fcn.00447800
jmp 0x44fd12
mov bl, 1
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x24]
call fcn.00410ca4
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x44]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov ax, word [ebp - 0x42]
add eax, 0xffffff3e
sub ax, 2
jae 0x44fcbb
call fcn.0044ed04
lea edx, [ebp - 0x44]
call fcn.00410ca4
jmp 0x44fd6c
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x44fd4e
cmp eax, dword [0x4e9cf0]
jne 0x44fd4e
cmp dword [ebp - 0x30], 4
jne 0x44fd7b
cmp byte [ebp - 0x3d], 0
je 0x44fd7b
mov edx, 0x44d1b4
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
call fcn.00447800
jmp 0x44fd7b
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x24]
call fcn.00410ca4
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x44]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov ax, word [ebp - 0x42]
add eax, 0xffffff3e
sub ax, 2
jae 0x44fd21
mov ebx, dword [0x4e9cec]
test ebx, ebx
je 0x44fdf0
cmp dword [0x4e9cf0], 0
je 0x44fdf0
lea edx, [ebp - 0x44]
mov eax, ebx
call fcn.00410ca4
jmp 0x44fde1
mov eax, dword [ebp - 0x3c]
cmp eax, dword [0x4e9cf0]
jne 0x44fdc3
cmp dword [ebp - 0x30], 4
jne 0x44fdf0
cmp byte [ebp - 0x3d], 0
je 0x44fdf0
mov edx, 0x44d1b4
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
call fcn.00447800
jmp 0x44fdf0
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x24]
call fcn.00410ca4
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x44]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov ax, word [ebp - 0x42]
add eax, 0xffffff3e
sub ax, 2
jae 0x44fd9a
mov ebx, dword [0x4e9cf0]
test ebx, ebx
je 0x44fe5c
lea edx, [ebp - 0x44]
mov eax, ebx
call fcn.00410ca4
jmp 0x44fe4d
mov eax, dword [ebp - 0x3c]
cmp eax, dword [0x4e9cf0]
jne 0x44fe2f
cmp dword [ebp - 0x30], 4
jne 0x44fe5c
cmp byte [ebp - 0x3d], 0
je 0x44fe5c
mov edx, 0x44d1b4
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
call fcn.00447800
jmp 0x44fe5c
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x24]
call fcn.00410ca4
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x44]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov ax, word [ebp - 0x42]
add eax, 0xffffff3e
sub ax, 2
jae 0x44fe06
lea edx, [ebp - 0x44]
mov eax, fcn.00403c2c
call fcn.00410ca4
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x44fe74
mov ebx, eax
jmp 0x44fe79
mov ebx, fcn.00403c2c
call fcn.0044ecf0
lea edx, [ebp - 0x44]
call fcn.00410ca4
jmp 0x44fec9
cmp ebx, dword [ebp - 0x3c]
jne 0x44feab
cmp dword [ebp - 0x30], 4
jne 0x44fed8
cmp byte [ebp - 0x3d], 0
je 0x44fed8
mov edx, 0x44d99c
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
call fcn.00447800
jmp 0x44fed8
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x24]
call fcn.00410ca4
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x44]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
mov ax, word [ebp - 0x42]
add eax, 0xffffff3e
sub ax, 2
jae 0x44fe88
call fcn.0044ed2c
lea edx, [ebp - 0x44]
call fcn.00410ca4
jmp 0x44ff05
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x24]
call fcn.00410ca4
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x44]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x44], 0
je 0x44ff3a
cmp word [ebp - 0x42], 0x8b
jne 0x44ff2b
cmp byte [ebp - 0x40], 0x15
jne 0x44ff2b
mov eax, dword [ebp - 0x28]
add eax, 2
mov eax, dword [eax]
mov edx, dword [0x4ec448]
cmp eax, edx
je 0x44ff3a
mov ax, word [ebp - 0x42]
add eax, 0xffffff3e
sub ax, 2
jae 0x44fee7
cmp word [ebp - 0x42], 0x8b
jne 0x44ff52
mov edx, 0x4ea524
mov eax, dword [ebp - 0x28]
add eax, 2
call fcn.00447800
call fcn.0044ed40
lea edx, [ebp - 0x44]
call fcn.00410ca4
jmp 0x44ff7f
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x24]
call fcn.00410ca4
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x44]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x44], 0
je 0x44ffb4
cmp word [ebp - 0x42], 0xff
jne 0x44ffa5
cmp byte [ebp - 0x40], 0x15
jne 0x44ffa5
mov eax, dword [ebp - 0x28]
add eax, 2
mov eax, dword [eax]
mov edx, dword [0x4ec448]
cmp eax, edx
je 0x44ffb4
mov ax, word [ebp - 0x42]
add eax, 0xffffff3e
sub ax, 2
jae 0x44ff61
cmp word [ebp - 0x42], 0xff
jne 0x44ffcc
mov edx, 0x4ea528
mov eax, dword [ebp - 0x28]
add eax, 2
call fcn.00447800
call fcn.0044ed54
lea edx, [ebp - 0x44]
call fcn.00410ca4
jmp 0x44fff9
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x24]
call fcn.00410ca4
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x44]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x44], 0
je 0x45001c
cmp word [ebp - 0x42], 0xff
jne 0x45000d
cmp byte [ebp - 0x40], 0x25
je 0x45001c
mov ax, word [ebp - 0x42]
add eax, 0xffffff3e
sub ax, 2
jae 0x44ffdb
cmp word [ebp - 0x42], 0xff
jne 0x450034
mov edx, 0x4ea52c
mov eax, dword [ebp - 0x28]
add eax, 2
call fcn.00447800
call fcn.0044ed18
mov ebx, eax
lea edx, [ebp - 0x44]
mov eax, ebx
call fcn.00410ca4
jmp 0x450065
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x24]
call fcn.00410ca4
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x44]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x44], 0
je 0x450071
cmp byte [ebp - 0x3f], 0
je 0x450047
mov eax, dword [ebp - 0x3c]
mov dword [0x4e9d2c], eax
mov edx, 0x44d700
mov eax, ebx
call fcn.004477d0
call fcn.00446268
call fcn.00431f00
mov eax, dword [0x4ea424]
call fcn.0044e43c
mov eax, dword [0x4ea424]
mov edx, dword [eax]
call dword [edx + 0x31c]
test al, al
je 0x4500c1
mov eax, dword [0x4ea424]
mov edx, dword [eax]
call dword [edx + 0x320]
mov dword [0x4ea460], eax
call fcn.00432550
mov esi, 4
mov ebx, 0x4ee84c
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 0x4500cb
mov eax, 0x44cd0c
test eax, eax
jmp 0x450135
lea eax, [ebp - 4]
call fcn.0042ae60
cmp dword [ebp - 4], 0
je 0x45011f
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [0x4e9c78], eax
jmp 0x45012b
mov eax, dword [0x4ec7c0]
mov eax, dword [eax]
mov dword [0x4e9c78], eax
mov eax, 0x4ea424
call fcn.00406814
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45018c
lea eax, [ebp - 0xd4]
mov edx, 2
call fcn.00404b40
lea eax, [ebp - 0xcc]
call fcn.00406814
lea eax, [ebp - 0xa8]
mov edx, dword [0x40ce8c]
call fcn.00405660
lea eax, [ebp - 0x10]
call fcn.00404b1c
lea eax, [ebp - 4]
mov edx, dword [0x40821c]
call fcn.004060b4
ret