Function at 0x4d6370
Capabilities:
Check for time delay via gettickcount
Check mutex on windows
Create directory
Create process on windows
Create process suspended
Create thread
Get file size
Move file
Read file on windows
Resume thread

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1cdc
call fcn.00523cc0
mov eax, dword [0x582654]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
mov dword [ebp - 0x1c68], ebx
mov dword [ebp - 0x1c58], edi
jmp 0x4d63a0
cmp byte [ebx], 0
je 0x4d63bc
pop edi
mov eax, 0x755
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052388c
mov esp, ebp
pop ebp
ret 4
push esi
call fcn.004d5910
mov byte [ebx + 0x3d6c], al
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebx + 0x146c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x20
mov dword [0x6df454], eax
lea eax, [ebx + 0x1474]
push edi
push eax
call fcn.00532770
add esp, 0xc
mov byte [ebx + 0x1493], 0
mov ecx, ebx
mov dword [ebx + 0x1470], 0
push 0x104
push 0x6df458
call fcn.004d47e0
push 0
push 0x6df458
call fcn.00535b29
add esp, 8
cmp eax, 0xffffffff
jne 0x4d6464
push 0
push 0x6df458
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x4d6464
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
call esi
push eax
push 0x57c354
call fcn.004d9ef0
add esp, 4
push eax
lea eax, [ebx + 0x24]
push eax
call fcn.004d93e0
mov eax, 0x6f
jmp 0x4d882d
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x57c370
push 0x6df458
call esi
push 3
push 0x6df458
call fcn.004d1bb0
push 0x57c374
call fcn.004d9ef0
add esp, 0xc
push eax
push 0x6df458
call esi
mov ecx, ebx
call fcn.004d2080
push 0x3e8
push 0
lea esi, [ebx + 0x24]
push 0
push 0x6df458
mov ecx, esi
mov dword [ebp - 0x1c64], esi
call fcn.004d5cb0
push edi
mov ecx, ebx
call fcn.004d9550
mov ecx, ebx
call fcn.004d40c0
push 0x57c384
call fcn.004d9ef0
push eax
push esi
call fcn.004d93e0
add esp, 0xc
lea eax, [ebp - 0x20c]
mov ecx, ebx
push 0x104
push eax
call fcn.004d47e0
lea edi, [ebp - 0x20c]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4d6500
mov ax, word [0x57c370]
lea edx, [ebx + 0x1474]
mov word [edi], ax
mov esi, edx
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4d6520
lea edi, [ebp - 0x20c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d6530
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x57c38c
call fcn.004d9ef0
mov edx, eax
add esp, 4
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x4d6557
lea edi, [ebp - 0x20c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d6567
mov ecx, edx
lea eax, [ebp - 0x20c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.00535b29
add esp, 8
cmp eax, 0xffffffff
jne 0x4d662d
push 0x104
lea eax, [ebp - 0x20c]
mov ecx, ebx
push eax
call fcn.004d4770
lea edi, [ebp - 0x20c]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4d65b1
mov ax, word [0x57c370]
lea edx, [ebx + 0x1474]
mov word [edi], ax
mov esi, edx
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4d65d0
lea edi, [ebp - 0x20c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d65e0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x57c38c
call fcn.004d9ef0
mov edx, eax
add esp, 4
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x4d6607
lea edi, [ebp - 0x20c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d6617
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 1
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebx + 0x3d14]
call fcn.004db3a0
test al, al
je 0x4d689b
push dword [0x57fa20]
call fcn.004d9ef0
add esp, 4
lea ecx, [ebx + 0x3d14]
add eax, 5
push eax
push 0x7ff
lea eax, [ebp - 0x1450]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.004db9b0
test al, al
je 0x4d689b
push 0x57c398
call fcn.004da340
add esp, 4
mov esi, eax
lea eax, [ebp - 0x1450]
push eax
push 0x20
lea eax, [ebp - 0x22c]
push eax
push 0x57c3a4
call fcn.004da340
add esp, 4
push eax
push 0x57c3b0
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc130
add esp, 0x18
lea eax, [ebp - 0x1450]
push eax
push 0
push 0x57c3c0
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [0x6df67c], eax
lea eax, [ebp - 0x1450]
push eax
push 0
push 0x57c3d0
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [0x6df680], eax
lea eax, [ebp - 0x1450]
push eax
push 0
push 0x57c3e0
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [0x6df68c], eax
lea eax, [ebp - 0x1450]
push eax
push 0
push 0x57c3f0
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [0x57fa30], eax
lea eax, [ebp - 0x1450]
push eax
push 0x104
push 0x6df6a8
push 0x57c0b7
push 0x57c400
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc130
add esp, 0x18
lea eax, [ebp - 0x1450]
push eax
push 0x104
push 0x6df8a8
push 0x57c0b7
push 0x57c410
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc130
add esp, 0x18
lea eax, [ebp - 0x1450]
push eax
push 0x104
push 0x6dfaa8
push 0x57c0b7
push 0x57c420
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc130
add esp, 0x18
lea eax, [ebp - 0x1450]
push eax
push 0x104
push 0x6dfca8
push 0x57c0b7
push 0x57c430
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc130
add esp, 0x18
lea eax, [ebp - 0x1450]
push eax
push 0x104
push 0x6dfea8
push 0x57c0b7
push 0x57c440
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc130
add esp, 0x18
lea eax, [ebp - 0x1450]
push eax
push 0
push 0x57c450
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
mov dword [0x6def3c], eax
lea eax, [ebx + 0x1474]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.00535ea0
add esp, 0x18
test eax, eax
jne 0x4d689b
lea eax, [ebp - 0x1450]
push eax
push 0
push 0x57c460
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [0x6df668], eax
mov eax, dword [0x6df67c]
mov ecx, 3
test eax, eax
mov esi, 0x6df6a8
cmove eax, ecx
mov dword [0x6df67c], eax
push esi
call fcn.004da500
add esp, 4
cmp byte [esi], 0
jne 0x4d68e0
push 0x57c470
call fcn.004d9ef0
mov edx, esi
add esp, 4
sub edx, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x4d68d3
add esi, 0x200
cmp esi, 0x6e00a8
jl 0x4d68b4
mov eax, dword [0x57fa30]
mov ecx, 0xa
push dword [ebp - 0x1c58]
test eax, eax
cmove eax, ecx
mov dword [0x57fa30], eax
call fcn.004d9ec0
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 4
test dword [0x6df68c], 4
jne 0x4d6cae
cmp eax, 0x351dce
je 0x4d6cae
lea eax, [ebp - 0x1c6c]
push eax
call fcn.004d5740
push 0x104
mov dword [ebp - 0x1c54], eax
lea eax, [ebp - 0x108]
push 0
push eax
call fcn.00527170
add esp, 0x10
lea eax, [ebp - 0x108]
mov ecx, ebx
push 0x104
push eax
call fcn.004d47e0
lea edi, [ebp - 0x108]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4d6973
mov ax, word [0x57c370]
mov word [edi], ax
mov eax, dword [ebp - 0x1c54]
cmp eax, 1
jne 0x4d6a41
push 0x57c488
call fcn.004d9ef0
mov edx, eax
add esp, 4
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x4d69a6
lea edi, [ebp - 0x108]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d69b6
mov ecx, edx
lea eax, [ebp - 0x108]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.00535b29
add esp, 8
cmp eax, 0xffffffff
jne 0x4d6b06
push 0x104
lea eax, [ebp - 0x108]
mov ecx, ebx
push eax
call fcn.004d4770
lea edi, [ebp - 0x108]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4d6a00
mov ax, word [0x57c370]
push 0x57c488
mov word [edi], ax
call fcn.004d9ef0
mov edx, eax
add esp, 4
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x4d6a24
lea edi, [ebp - 0x108]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d6a34
jmp 0x4d6af8
cmp eax, 2
jne 0x4d6b0c
push 0x57c49c
call fcn.004d9ef0
mov edx, eax
add esp, 4
mov esi, edx
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4d6a60
lea edi, [ebp - 0x108]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d6a70
mov ecx, edx
lea eax, [ebp - 0x108]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.00535b29
add esp, 8
cmp eax, 0xffffffff
jne 0x4d6b06
push 0x104
lea eax, [ebp - 0x108]
mov ecx, ebx
push eax
call fcn.004d4770
lea edi, [ebp - 0x108]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4d6ab6
mov ax, word [0x57c370]
push 0x57c49c
mov word [edi], ax
call fcn.004d9ef0
mov edx, eax
add esp, 4
mov esi, edx
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4d6ae0
lea edi, [ebp - 0x108]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d6af0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 0x108]
push 0
push eax
call fcn.00535b29
add esp, 8
cmp eax, 0xffffffff
je 0x4d6b56
push 1
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebx + 0x3d14]
call fcn.004db3a0
test al, al
je 0x4d6b56
push 0x57c4b4
call fcn.004d9ef0
push eax
lea esi, [ebx + 0x24]
push esi
call fcn.004d93e0
add esp, 0xc
jmp 0x4d6c0e
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x6df690], eax
test eax, eax
jne 0x4d6b77
call esi
push eax
push 0x57c4c8
jmp 0x4d6b9d
push 0x6ded2c
push 0
push 0
push 0x4d24d0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, eax
test edi, edi
jne 0x4d6bb4
call esi
push eax
push 0x57c4dc
call fcn.004d9ef0
add esp, 4
lea esi, [ebx + 0x24]
push eax
push esi
call fcn.004d93e0
add esp, 0xc
jmp 0x4d6c0e
push dword [0x6ded2c]
push edi
push 0x57c4f0
call fcn.004d9ef0
add esp, 4
lea esi, [ebx + 0x24]
push eax
push esi
call fcn.004d93e0
imul eax, dword [0x57fa30], 0x3e8
add esp, 0x10
push eax
push dword [0x6df690]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x4d6c07
push 0x57c50c
call fcn.004d9ef0
push eax
push esi
call fcn.004d93e0
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x6df68c], 0
je 0x4d6c8f
mov ecx, dword [0x6df064]
mov edx, 1
test ecx, ecx
je 0x4d6c77
mov eax, dword [0x6df694]
test ecx, 0x80000
cmovne eax, edx
test ecx, 0x200000
mov dword [0x6df694], eax
mov eax, dword [0x6df698]
cmovne eax, edx
test ecx, 0x400000
mov dword [0x6df698], eax
mov eax, dword [0x6df69c]
cmovne eax, edx
test ecx, 0x20000000
mov dword [0x6df69c], eax
mov ecx, 0xb
mov eax, dword [0x6df664]
cmovne eax, ecx
mov dword [0x6df664], eax
mov eax, dword [0x6df16c]
test eax, eax
je 0x4d6c8f
test al, 1
mov eax, dword [0x6df6a0]
cmovne eax, edx
mov dword [0x6df6a0], eax
cmp dword [0x6df694], 1
jne 0x4d6cae
push 0x57c518
call fcn.004d9ef0
push eax
push esi
call fcn.004d93e0
jmp 0x4d8828
cmp byte [ebx + 0x3d80], 0
je 0x4d6cc1
push 1
call fcn.004d4190
add esp, 4
push 1
push 0x251c
mov ecx, ebx
call fcn.004d3080
test eax, eax
jne 0x4d6df4
push 0x57c528
call fcn.004d9ef0
push eax
lea esi, [ebx + 0x24]
push esi
call fcn.004d93e0
push 0x57c544
call fcn.004d9ef0
add esp, 0x10
push eax
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov edi, eax
test edi, edi
jne 0x4d6deb
push 0x57c558
call fcn.004d9ef0
add esp, 4
push eax
push edi
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov edi, eax
test edi, edi
jne 0x4d6deb
mov dword [ebp - 0x1c54], eax
nop word [eax + eax]
test edi, edi
jne 0x4d6deb
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x57c544
call fcn.004d9ef0
add esp, 4
push eax
push edi
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov edi, eax
test edi, edi
jne 0x4d6d8c
push 0x57c558
call fcn.004d9ef0
add esp, 4
push eax
push edi
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov edi, eax
push 0x57c564
call fcn.004d9ef0
add esp, 4
push eax
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
test eax, eax
jne 0x4d6dca
push 0x57c578
call fcn.004d9ef0
add esp, 4
push eax
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
test eax, eax
je 0x4d6de7
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1c54]
inc eax
mov dword [ebp - 0x1c54], eax
cmp eax, 0x5f
jl 0x4d6d40
test edi, edi
je 0x4d6df7
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4d6df7
lea esi, [ebx + 0x24]
push 0
mov ecx, ebx
call fcn.004d2390
mov edi, dword [sym.imp.KERNEL32.dll_OpenEventA]
test eax, eax
jne 0x4d6f80
inc dword [ebx + 0x169c]
push 0x57c584
call fcn.004d9ef0
add esp, 4
push eax
push 0
push 0x100000
call edi
mov dword [ebp - 0x1c54], eax
test eax, eax
jne 0x4d6e65
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x57c584
call fcn.004d9ef0
add esp, 4
push eax
push 0
push 0x100000
call edi
mov dword [ebp - 0x1c54], eax
test eax, eax
je 0x4d6f80
xor edi, edi
nop word [eax + eax]
push edi
push 0x57c598
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004d93e0
add esp, 0xc
push 0
push dword [ebp - 0x1c54]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x4d6f22
push 0x57c5bc
call fcn.004d9ef0
add esp, 4
push eax
push 0
push 0xf001f
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
test eax, eax
jne 0x4d6f19
push 0x57c5d0
call fcn.004d9ef0
add esp, 4
push eax
push 0
push 0xf001f
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
test eax, eax
jne 0x4d6f19
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0x1e
jl 0x4d6e70
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
call ebx
push eax
push 0x57c5dc
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004d93e0
mov eax, 0xaa
jmp 0x4d882d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4d6f74
push 0x4c2c
mov ecx, ebx
call fcn.004d2390
test eax, eax
jne 0x4d6f56
push dword [ebp - 0x1c54]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop esi
pop edi
mov eax, 0x6e
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052388c
mov esp, ebp
pop ebp
ret 4
push 0x57c5ac
mov dword [ebx + 0x169c], 0
call fcn.004d9ef0
push eax
push esi
call fcn.004d93e0
add esp, 0xc
push dword [ebp - 0x1c54]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
and eax, 0xfff00000
cmp dword [ebx + 0x1698], 0
mov dword [ebp - 0x1c60], eax
jne 0x4d6fb1
cmp dword [ebx + 0x169c], 0
jne 0x4d6fb1
push dword [ebp - 0x1c58]
call fcn.004d2710
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventA]
lea eax, [ebp - 0x1c8c]
push 0
push 0
push 0
push eax
mov dword [ebp - 0x1c8c], 0xc
mov dword [ebp - 0x1c88], 0
mov dword [ebp - 0x1c84], 1
call edi
mov dword [ebx + 0x3d7c], eax
test eax, eax
jne 0x4d7017
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
call ebx
push eax
push 0x57c5f4
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004d93e0
mov eax, 0xab
jmp 0x4d882d
push 0
push 0
push 1
lea eax, [ebp - 0x1c8c]
push eax
call edi
mov dword [ebx + 0x18], eax
test eax, eax
jne 0x4d7056
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
call ebx
push eax
push 0x57c618
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004d93e0
mov eax, 0xab
jmp 0x4d882d
push 0
push 0
push 0
lea eax, [ebp - 0x1c8c]
push eax
call edi
mov dword [ebx + 0x3d78], eax
test eax, eax
jne 0x4d7098
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
call ebx
push eax
push 0x57c63c
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004d93e0
mov eax, 0xab
jmp 0x4d882d
push 0x57c660
call fcn.004d9ef0
push eax
push esi
call fcn.004d93e0
add esp, 0xc
lea eax, [ebp - 0x350]
mov ecx, ebx
push 0x104
push eax
call fcn.004d4770
lea edi, [ebp - 0x350]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4d70c6
mov ax, word [0x57c370]
push 0x57c668
mov word [edi], ax
call fcn.004d9ef0
mov edx, eax
add esp, 4
mov esi, edx
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4d70f0
lea edi, [ebp - 0x350]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d7100
mov ecx, edx
lea eax, [ebp - 0x350]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.00535b29
add esp, 8
cmp eax, 0xffffffff
lea eax, [ebp - 0x350]
push eax
jne 0x4d7157
push 0x57c67c
call fcn.004d9ef0
mov esi, dword [ebp - 0x1c64]
add esp, 4
push eax
push esi
call fcn.004d93e0
mov eax, 0x99
jmp 0x4d882d
lea eax, [ebp - 0x350]
push eax
call fcn.00535d85
add esp, 8
test eax, eax
je 0x4d718d
lea eax, [ebp - 0x350]
push eax
push 0x57c690
call fcn.004d9ef0
add esp, 4
lea edi, [ebx + 0x24]
push eax
push edi
call fcn.004d93e0
add esp, 0xc
jmp 0x4d7190
lea edi, [ebx + 0x24]
push 1
lea eax, [ebp - 0x350]
mov byte [ebp - 0x1c59], 0
push eax
lea ecx, [ebx + 0x3d14]
call fcn.004db3a0
test al, al
jne 0x4d737a
cmp dword [ebx + 0x3d58], 8
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [ebp - 0x1c54], al
jne 0x4d71e6
call esi
mov ecx, dword [ebp - 0x1c54]
cmp eax, 0x80090006
movzx ecx, cl
mov eax, 1
cmove ecx, eax
mov dword [ebp - 0x1c54], ecx
call esi
mov esi, dword [ebx + 0x3d58]
lea eax, [ebp - 0x350]
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x57c6a8
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esp, 0x14
lea eax, [ebp - 0x350]
push 0
push 0x80
push 3
push 0
push 3
push accept
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x4d7263
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 0x350]
push eax
call esi
push eax
push 0x57c6c4
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esp, 0x10
jmp 0x4d72de
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push eax
push 0x57c6dc
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esp, 0xc
push 2
push 0
push 0xfffffffffffffffc
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
lea eax, [ebp - 0x1c6c]
mov dword [ebp - 0x1c58], 0
push eax
push 4
lea eax, [ebp - 0x1c58]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x1c58]
push 0x57c6ec
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [ebp - 0x1c54], 0
je 0x4d7347
cmp byte [ebx + 0x3d6c], 0
jne 0x4d7362
call fcn.004d2a40
test al, al
je 0x4d7362
push 1
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebx + 0x3d14]
call fcn.004db3a0
test al, al
jne 0x4d732a
cmp dword [ebx + 0x3d58], 8
jne 0x4d7323
call esi
cmp eax, 0x80090006
je 0x4d7362
mov byte [ebp - 0x1c59], 1
push 0x57c6fc
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
add esp, 0xc
cmp byte [ebp - 0x1c59], 0
je 0x4d737a
push 0x57c714
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
mov eax, 0x7c
jmp 0x4d882d
pop esi
pop edi
mov eax, 0x9b
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052388c
mov esp, ebp
pop ebp
ret 4
push 0x57c738
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
push 0x44
lea eax, [ebp - 0x1cdc]
push 0
push eax
call fcn.00527170
mov ecx, 0x6dec20
mov dword [ebp - 0x1cdc], 0x44
xorps xmm0, xmm0
add esp, 0x18
movups xmmword [ebp - 0x1c80], xmm0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d73c0
sub ecx, edx
cmp ecx, 3
jb 0x4d73e0
cmp byte [0x6dec21], 0x3a
je 0x4d73f2
cmp byte [0x6dec22], 0x5c
je 0x4d73f2
push str.NULL
push 0x6dec20
call fcn.0041f000
add esp, 8
mov ecx, 0x6df068
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d7400
sub ecx, edx
cmp ecx, 3
jae 0x4d7420
push str.NULL
push 0x6df068
call fcn.0041f000
add esp, 8
push dword [0x6df16c]
lea eax, [ebx + 0x1474]
push dword [0x6df064]
push 0x8c
push 0x6df068
push 0x6dec20
push dword [0x57fa24]
push dword [ebx + 0x169c]
push dword [ebx + 0x146c]
push dword [ebx + 0x18]
push dword [ebx + 0x3d7c]
push eax
push dword [ebp - 0x1c60]
push 0x57c748
call fcn.004d9ef0
add esp, 4
push eax
lea eax, [ebp - 0x450]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x38
lea eax, [ebp - 0x450]
push eax
push 0x57c774
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
lea eax, [ebp - 0x450]
push eax
call fcn.004da440
push 0x800
mov dword [ebp - 0x1c60], eax
lea eax, [ebp - 0x1c50]
push 0
push eax
call fcn.00527170
lea esi, [ebp - 0x450]
add esp, 0x1c
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4d74d0
sub esi, ecx
push esi
push 0x57c780
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esi, 4
add esp, 0xc
mov dword [ebp - 0x1c58], esi
test esi, esi
lea esi, [ebp - 0x1c50]
jle 0x4d7536
mov edi, dword [ebp - 0x1c60]
mov ebx, dword [ebp - 0x1c58]
movzx eax, byte [edi]
push eax
push str.x_02x
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edi, [edi + 1]
add esi, eax
sub ebx, 1
jne 0x4d7510
mov ebx, dword [ebp - 0x1c68]
lea edi, [ebx + 0x24]
lea eax, [ebp - 0x1c50]
mov byte [esi], 0
push eax
push 0x57c794
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esp, 0xc
mov dword [ebp - 0x1c54], 0
cmp dword [ebx + 0x1698], 0
jne 0x4d76d8
lea eax, [ebp - 0x1c80]
push eax
lea eax, [ebp - 0x1cdc]
push eax
push 0
push 0
push 0
push 1
push 0
push 0
lea eax, [ebp - 0x1c50]
push eax
lea eax, [ebp - 0x350]
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x4d75be
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
lea eax, [ebp - 0x450]
push eax
call ebx
push eax
lea eax, [ebp - 0x350]
push eax
jmp 0x4d842f
push dword [ebp - 0x1c78]
push 0x57c7c8
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
mov eax, dword [ebx + 0x3d7c]
add esp, 0xc
mov dword [ebp - 0x1c70], eax
mov eax, dword [ebp - 0x1c80]
mov dword [ebp - 0x1c6c], eax
lea eax, [ebp - 0x1c70]
push 0xffffffffffffffff
push 0
push eax
push 2
mov dword [ebp - 0x1c54], 0
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
test eax, eax
je 0x4d76b2
lea eax, [ebp - 0x1c54]
push eax
push dword [ebp - 0x1c80]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x4d764d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x57c7d4
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esp, 0xc
push dword [ebp - 0x1c54]
push 0x57c7f8
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
mov eax, dword [ebp - 0x1c54]
add esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, 0xbfed4d00
mov ecx, 0xff
cmova eax, ecx
push dword [ebp - 0x1c80]
mov dword [ebp - 0x1c54], eax
call ebx
push dword [ebp - 0x1c7c]
call ebx
mov eax, dword [ebp - 0x1c54]
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052388c
mov esp, ebp
pop ebp
ret 4
push 0x57c81c
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
lea eax, [ebp - 0x1c80]
push eax
call fcn.004d8850
add esp, 0x10
mov dword [ebp - 0x1c54], eax
push dword [ebp - 0x1c80]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x1c7c]
call esi
push 0x104
lea eax, [ebp - 0x20c]
mov ecx, ebx
push eax
call fcn.004d47e0
lea edi, [ebp - 0x20c]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4d7708
mov ax, word [0x57c370]
lea edx, [ebx + 0x1474]
mov word [edi], ax
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x4d7723
lea edi, [ebp - 0x20c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d7733
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x57c38c
call fcn.004d9ef0
mov edx, eax
add esp, 4
mov esi, edx
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4d7760
lea edi, [ebp - 0x20c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d7770
mov ecx, edx
lea eax, [ebp - 0x20c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 1
push eax
lea ecx, [ebx + 0x3d14]
call fcn.004db3a0
test al, al
jne 0x4d77e2
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
mov esi, dword [ebx + 0x3d58]
call edi
push eax
push esi
push 0x57c824
call fcn.004d9ef0
add esp, 4
lea esi, [ebx + 0x24]
push eax
push esi
call fcn.004d93e0
add esp, 0x10
mov eax, 0x78
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052388c
mov esp, ebp
pop ebp
ret 4
push dword [0x57fa20]
call fcn.004d9ef0
add esp, 4
lea ecx, [ebx + 0x3d14]
add eax, 5
push eax
push 0x7ff
lea eax, [ebp - 0xc50]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.004db9b0
test al, al
jne 0x4d785a
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
mov esi, dword [ebx + 0x3d58]
call edi
push eax
push esi
push 0x57c83c
call fcn.004d9ef0
add esp, 4
lea esi, [ebx + 0x24]
push eax
push esi
call fcn.004d93e0
add esp, 0x10
mov eax, 0x82
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052388c
mov esp, ebp
pop ebp
ret 4
push 0x57c398
call fcn.004da340
add esp, 4
mov esi, eax
lea eax, [ebp - 0xc50]
push eax
push 0x20
lea eax, [ebp - 0x24c]
push eax
push 0x57c3a4
call fcn.004da340
add esp, 4
push eax
push 0x57c3b0
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc130
lea eax, [ebx + 0x1474]
push eax
lea eax, [ebp - 0x24c]
push eax
call fcn.00535ea0
add esp, 0x20
test eax, eax
je 0x4d78d6
push 0x57c85c
call fcn.004d9ef0
mov esi, dword [ebp - 0x1c64]
push eax
push esi
call fcn.004d93e0
mov eax, 0x8e
jmp 0x4d882d
lea eax, [ebp - 0xc50]
push eax
push 0x186a0
push 0x57c874
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [0x6df55c], eax
cmp dword [0x6df664], 0
jne 0x4d7955
lea eax, [ebp - 0xc50]
push eax
push 0
push 0x57c884
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [0x6df664], eax
test eax, eax
jne 0x4d7955
lea eax, [ebp - 0xc50]
push eax
push 0
push 0x57c894
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [0x6df664], eax
lea eax, [ebp - 0xc50]
push eax
push 0
push 0x57c8a4
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
lea eax, [ebp - 0xc50]
push eax
push 0
push 0x57c8b4
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
mov edi, eax
add esp, 0x10
mov dword [ebp - 0x1c58], edi
test edi, edi
jne 0x4d79c6
lea eax, [ebp - 0xc50]
push eax
push edi
push 0x57c8c0
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [ebp - 0x1c58], eax
lea eax, [ebp - 0xc50]
push eax
push 0
push 0x57c460
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [0x6df668], eax
lea eax, [ebp - 0xc50]
push eax
push 0
push 0x57c8d0
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [ebp - 0x1c6c], eax
lea eax, [ebp - 0xc50]
push eax
push 0
push 0x57c8e0
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [0x6df66c], eax
lea eax, [ebp - 0xc50]
push eax
push 0
push 0x57c8f4
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
test eax, eax
jne 0x4d7a7a
lea eax, [ebp - 0xc50]
push eax
push 0
push 0x57c908
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
shr eax, 1
not al
and al, 1
mov byte [ebx + 0x22], al
lea eax, [ebp - 0xc50]
push eax
push 0x3e8
push 0x57c918
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [ebx + 0x3d70], eax
lea eax, [ebp - 0xc50]
push eax
push 0
push 0x57c930
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [ebx + 0x3d74], eax
test eax, eax
jne 0x4d7afc
lea eax, [ebp - 0xc50]
push eax
push 0
push 0x57c944
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [ebx + 0x3d74], eax
lea eax, [ebp - 0xc50]
push eax
push 0x100
push 0x6ded30
push 0x57c0b7
push 0x57c954
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc130
add esp, 0x18
lea eax, [ebp - 0xc50]
push eax
push 0x100
push 0x6dee38
push 0x57c0b7
push 0x57c964
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc130
add esp, 0x18
lea eax, [ebp - 0xc50]
push eax
push 0x100
push 0x6def40
push 0x57c0b7
push 0x57c974
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc130
add esp, 0x18
cmp byte [0x6ded30], 0
jne 0x4d7bb9
lea eax, [ebp - 0xc50]
push eax
push 0x100
push 0x6ded30
push 0x57c0b7
push 0x57c984
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc130
add esp, 0x18
cmp byte [0x6dee38], 0
jne 0x4d7bef
lea eax, [ebp - 0xc50]
push eax
push 0x100
push 0x6dee38
push 0x57c0b7
push 0x57c994
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc130
add esp, 0x18
cmp byte [0x6def40], 0
jne 0x4d7c25
lea eax, [ebp - 0xc50]
push eax
push 0x100
push 0x6def40
push 0x57c0b7
push 0x57c9a4
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc130
add esp, 0x18
lea eax, [ebp - 0xc50]
push eax
push 0x20
push 0x6df044
push 0x57c0b7
push 0x57c9b4
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc130
add esp, 0x18
lea eax, [ebp - 0xc50]
push eax
push 0
push 0x57c9c4
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [0x6df684], eax
lea eax, [ebp - 0xc50]
push eax
push 0
push 0x57c9d4
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
add esp, 0x10
mov dword [0x6df688], eax
lea eax, [ebp - 0xc50]
push eax
push 0
push 0x57c3e0
call fcn.004d9ef0
add esp, 4
push eax
push esi
call fcn.004dc0a0
push 0x6ded30
mov dword [0x6df68c], eax
call fcn.004da500
push 0x6dee38
call fcn.004da500
push 0x6def40
call fcn.004da500
push 0x6df044
call fcn.004da500
mov eax, dword [0x6df684]
add esp, 0x20
test eax, eax
je 0x4d7cfa
imul eax, eax, 0x3e8
mov dword [0x6df684], eax
push 0x800
lea eax, [ebp - 0xc50]
push 0
push eax
call fcn.00527170
push 0x57c9e8
call fcn.004d9ef0
push eax
lea esi, [ebx + 0x24]
push esi
call fcn.004d93e0
add esp, 0x18
mov ecx, ebx
push 0x104
push 0x6df560
call fcn.004d47e0
mov esi, 0x6df560
lea edi, [esi - 1]
nop dword [eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4d7d40
mov ax, word [0x57c370]
push 0x57c9f0
mov word [edi], ax
call fcn.004d9ef0
mov edx, eax
add esp, 4
mov ecx, edx
mov dword [ebp - 0x1c60], ecx
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4d7d70
sub edx, ecx
lea edi, [esi - 1]
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d7d80
mov esi, dword [ebp - 0x1c60]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
cmp dword [0x6df6a4], 0
rep movsb byte es:[edi], byte [esi]
je 0x4d7e2c
mov ecx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx eax, byte [ecx + 4]
push eax
movzx eax, byte [ecx + 3]
push eax
movzx eax, byte [ecx + 2]
push eax
movzx eax, byte [ecx + 1]
push eax
movzx eax, byte [ecx]
push eax
push 0x57ca00
call fcn.004d9ef0
add esp, 4
push eax
mov eax, dword [0x6df6a4]
add eax, 0x24
push eax
call fcn.004d93e0
add esp, 0x1c
cmp dword [0x6df6a4], 0
je 0x4d7e2c
mov ecx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
movzx eax, byte [ecx + 4]
push eax
movzx eax, byte [ecx + 3]
push eax
movzx eax, byte [ecx + 2]
push eax
movzx eax, byte [ecx + 1]
push eax
movzx eax, byte [ecx]
push eax
push 0x57ca24
call fcn.004d9ef0
add esp, 4
push eax
mov eax, dword [0x6df6a4]
add eax, 0x24
push eax
call fcn.004d93e0
add esp, 0x1c
push 0x57ca48
call fcn.004d9ef0
push eax
lea edi, [ebx + 0x24]
push edi
call fcn.004d93e0
add esp, 0xc
cmp dword [0x6df68c], 0
je 0x4d7eb0
cmp dword [0x6df698], 1
jne 0x4d7eb0
push 0x57ca50
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
add esp, 0xc
cmp dword [0x6df69c], 0
jne 0x4d7e98
mov ecx, ebx
call fcn.004d4f10
test al, al
jne 0x4d7e98
push 0x57ca60
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
mov eax, 0xdc
jmp 0x4d882d
pop esi
pop edi
mov eax, 0x755
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052388c
mov esp, ebp
pop ebp
ret 4
push 0
push 0x6df560
call fcn.00535b29
add esp, 8
cmp eax, 0xffffffff
jne 0x4d7f7e
push 0x104
push 0x6df560
mov ecx, ebx
call fcn.004d47e0
mov esi, 0x6df560
lea edi, [esi - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4d7ee1
mov ax, word [0x57c370]
push 0x57ca7c
mov word [edi], ax
call fcn.004d9ef0
mov edx, eax
add esp, 4
mov ecx, edx
mov dword [ebp - 0x1c60], ecx
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4d7f10
sub edx, ecx
dec esi
nop word [eax + eax]
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4d7f20
mov ecx, edx
mov edi, esi
mov esi, dword [ebp - 0x1c60]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push 0x6df560
call fcn.00535b29
add esp, 8
cmp eax, 0xffffffff
jne 0x4d7f7b
push 0x6df560
push 0x57ca8c
call fcn.004d9ef0
mov esi, dword [ebp - 0x1c64]
add esp, 4
push eax
push esi
call fcn.004d93e0
mov eax, 0x9a
jmp 0x4d882d
lea edi, [ebx + 0x24]
push 1
push 0x6df560
lea ecx, [ebx + 0x3d14]
call fcn.004db3a0
test al, al
jne 0x4d7fdc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [ebx + 0x3d58]
push 0x6df560
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x57c6a8
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esp, 0x14
pop esi
pop edi
mov eax, 0x7a
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052388c
mov esp, ebp
pop ebp
ret 4
push 0x57caa8
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
add esp, 0xc
lea ecx, [ebx + 0x16a4]
call fcn.004dad10
test al, al
jne 0x4d801a
push 0x57cab0
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
mov eax, 0xa0
jmp 0x4d882d
push 2
push dword [ebx + 0x16a4]
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push 0x57cac4
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push dword [0x6df16c]
mov esi, eax
lea ecx, [ebx + 0x16a4]
push dword [0x6df064]
lea eax, [ebx + 0x1474]
and esi, 0xfff00000
push 0x8c
push dword [0x57fa24]
push dword [ebp - 0x1c58]
push dword [ebx + 0x3d7c]
push dword [ebx + 0x3d78]
push eax
call fcn.004dacc0
push eax
lea ecx, [ebx + 0x16a4]
call fcn.004dacb0
push eax
movzx eax, byte [ebx + 0x3d6c]
push eax
push dword [ebx + 0x146c]
push esi
push 0x57cacc
call fcn.004d9ef0
add esp, 4
push eax
lea eax, [ebp - 0x450]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push 0x44
lea eax, [ebp - 0x1cdc]
push 0
push eax
call fcn.00527170
add esp, 0x48
mov dword [ebp - 0x1cdc], 0x44
xorps xmm0, xmm0
movups xmmword [ebp - 0x1c80], xmm0
push dword [ebx + 0x3d7c]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
lea eax, [ebp - 0x450]
push eax
call fcn.004da440
lea ecx, [ebp - 0x450]
mov dword [ebp - 0x1c60], eax
add esp, 4
lea esi, [ebp - 0x1c50]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d8113
sub ecx, edx
add ecx, 4
mov dword [ebp - 0x1c58], ecx
test ecx, ecx
jle 0x4d8157
mov edi, dword [ebp - 0x1c60]
mov ebx, ecx
movzx eax, byte [edi]
push eax
push str.x_02x
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edi, [edi + 1]
add esi, eax
sub ebx, 1
jne 0x4d8131
mov ebx, dword [ebp - 0x1c68]
lea edi, [ebx + 0x24]
push 0x57cb00
mov byte [esi], 0
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
add esp, 0xc
cmp dword [ebx + 0x169c], 0
je 0x4d8331
push 0
mov ecx, ebx
call fcn.004d2390
test eax, eax
jne 0x4d83c8
push 0x57c584
call fcn.004d9ef0
add esp, 4
push eax
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenEventA]
mov esi, eax
mov dword [ebp - 0x1c58], esi
test esi, esi
je 0x4d8628
xor eax, eax
mov dword [ebp - 0x1c68], eax
nop
push eax
push 0x57cb08
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esp, 0xc
push 0
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x4d82d6
lea ecx, [ebp - 0x1c50]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d81f5
sub ecx, edx
lea eax, [ecx + 0xd]
push eax
mov dword [ebp - 0x1c64], eax
call fcn.005294af
mov esi, eax
add esp, 4
test esi, esi
je 0x4d83aa
push dword [ebp - 0x1c64]
push 0
push esi
call fcn.00527170
mov eax, dword [ebp - 0x1c64]
lea ecx, [ebp - 0x1c50]
mov dword [ebp - 0x1c98], eax
mov edx, ecx
mov eax, dword [ebx + 0x146c]
add esp, 0xc
mov dword [ebp - 0x1c94], 0x7eb
movq xmm0, qword [ebp - 0x1c98]
movq qword [esi], xmm0
mov dword [esi + 8], eax
mov eax, esi
sub eax, edx
lea edx, [eax + 0xc]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4d8265
push dword [ebp - 0x1c64]
push esi
call fcn.004d95c0
add esp, 8
push esi
test eax, eax
jne 0x4d82ba
call fcn.005294aa
add esp, 4
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x1c68]
mov esi, dword [ebp - 0x1c58]
inc eax
mov dword [ebp - 0x1c68], eax
cmp eax, 0x1e
jl 0x4d81c0
jmp 0x4d83aa
call fcn.005294aa
mov esi, dword [ebp - 0x1c58]
add esp, 4
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
jmp 0x4d83ce
push 0x4c2c
mov ecx, ebx
call fcn.004d2390
test eax, eax
jne 0x4d8305
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop esi
pop edi
mov eax, 0x6e
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052388c
mov esp, ebp
pop ebp
ret 4
push 0x57cb1c
mov dword [ebx + 0x169c], 0
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
add esp, 0xc
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
jmp 0x4d83ce
cmp dword [ebx + 0x1698], 0
je 0x4d83c8
lea ecx, [ebp - 0x1c50]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d8347
mov eax, dword [ebx + 0x146c]
sub ecx, edx
mov dword [ebp - 0x1c94], 0x7eb
mov dword [ebp - 0x100], eax
lea edx, [ecx + 0xd]
xor ecx, ecx
mov dword [ebp - 0x1c98], edx
movq xmm0, qword [ebp - 0x1c98]
movq qword [ebp - 0x108], xmm0
mov al, byte [ebp + ecx - 0x1c50]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0xfd], al
test al, al
jne 0x4d8381
push edx
lea eax, [ebp - 0x108]
push eax
call fcn.004d95c0
add esp, 8
test eax, eax
jne 0x4d83c8
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
lea eax, [ebp - 0x450]
push eax
push 0x6df560
call ebx
push eax
push 0x57cb2c
jmp 0x4d8434
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebx + 0x169c], 0
jne 0x4d847b
cmp dword [ebx + 0x1698], 0
jne 0x4d847b
lea eax, [ebp - 0x1c80]
push eax
lea eax, [ebp - 0x1cdc]
push eax
push 0
push 0
push 4
push 0
push 0
push 0
lea eax, [ebp - 0x1c50]
push eax
push 0x6df560
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x4d845e
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
lea eax, [ebp - 0x450]
push eax
call ebx
push eax
push 0x6df560
push 0x57c7a0
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esp, 0x14
mov eax, 0xaa
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052388c
mov esp, ebp
pop ebp
ret 4
push dword [ebp - 0x1c78]
push 0x57cb50
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esp, 0xc
mov eax, dword [0x6df664]
test eax, eax
cmove eax, dword [ebp - 0x1c6c]
mov dword [ebx + 0x1694], eax
test eax, eax
jne 0x4d849f
mov eax, dword [ebx + 0x1698]
mov dword [ebx + 0x1694], eax
cmp dword [ebx + 0x1694], 0
jne 0x4d84d9
mov eax, dword [ebx + 0x169c]
mov dword [ebx + 0x1694], eax
test eax, eax
jne 0x4d84d9
push dword [ebp - 0x1c54]
push 0x57cb5c
push 0x6df560
call fcn.004d21a0
movzx eax, al
add esp, 0xc
mov dword [ebx + 0x1694], eax
push 0x57cb70
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
add esp, 0xc
lea ecx, [ebx + 0x16a4]
call fcn.004db190
test eax, eax
jne 0x4d8525
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
call ebx
push eax
push 0x57cb78
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
mov eax, 0xa0
jmp 0x4d882d
push eax
push 0x57cb8c
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esp, 0xc
cmp dword [ebx + 0x169c], 0
jne 0x4d85df
cmp dword [ebx + 0x1698], 0
jne 0x4d85df
push dword [ebp - 0x1c7c]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov eax, dword [ebx + 0x3d78]
push dword [0x6df55c]
mov dword [ebp - 0x1c70], eax
mov eax, dword [ebp - 0x1c80]
mov dword [ebp - 0x1c6c], eax
lea eax, [ebp - 0x1c70]
push 0
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
test eax, eax
je 0x4d8640
push 0x57cbbc
call fcn.004d9ef0
add esp, 4
push eax
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenEventA]
test eax, eax
je 0x4d85f5
push eax
call esi
push dword [0x6df55c]
push dword [ebx + 0x3d78]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4d8640
push dword [0x6df55c]
push 0x57cbd0
jmp 0x4d8600
push dword [0x6df55c]
push dword [ebx + 0x3d78]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4d8640
push dword [0x6df55c]
push 0x57cbec
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esp, 0xc
mov ecx, ebx
push 0x40000c28
push 0x1cbd0900
push 0x2ee6
call fcn.004d4610
pop esi
pop edi
mov eax, 0x72
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052388c
mov esp, ebp
pop ebp
ret 4
push 0x57cc04
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
add esp, 0xc
push 0
push dword [ebx + 0x3d7c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4d8681
push 0x57cc14
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
mov eax, 0x72
jmp 0x4d882d
push 0x57cbbc
call fcn.004d9ef0
add esp, 4
push eax
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenEventA]
test eax, eax
je 0x4d86b9
push eax
call esi
push 0x57cc2c
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
add esp, 0xc
jmp 0x4d86cf
mov eax, dword [ebp - 0x1c78]
mov dword [0x6ded24], eax
mov eax, dword [ebp - 0x1c80]
mov dword [0x6ded28], eax
push 0x57cc38
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
add esp, 0xc
cmp dword [ebx + 0x169c], 0
je 0x4d8714
push 0x57cc40
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
add esp, 0xc
mov dword [0x6ded24], 0
mov dword [0x6ded28], 0
cmp dword [ebx + 0x1694], 0
je 0x4d7fc4
call fcn.004d2120
call fcn.004d53c0
mov esi, eax
test esi, esi
jne 0x4d8744
push 0xb
push 0x62d
lea eax, [ebx + 0x16a4]
push eax
call fcn.004d3bd0
push esi
push 0x57cc4c
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esp, 0xc
call fcn.004d5270
mov esi, eax
test esi, esi
jne 0x4d877e
push 0xd
push 0x630
push 0x8b1
lea ecx, [ebx + 0x16a4]
call fcn.004db200
push esi
push 0x57cc64
call fcn.004d9ef0
add esp, 4
push eax
push edi
call fcn.004d93e0
add esp, 0xc
cmp dword [0x6df68c], 0
je 0x4d87a8
cmp dword [0x6df69c], 1
je 0x4d87bd
cmp byte [ebx + 0x22], 0
je 0x4d87bd
mov ecx, ebx
call fcn.004d4f10
test al, al
je 0x4d7e7d
push 0x57cc7c
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
add esp, 0xc
lea ecx, [ebx + 0x16a4]
push dword [ebx + 0x146c]
push 0x611
push 0x8b1
call fcn.004db200
push dword [ebp - 0x1c54]
lea ecx, [ebx + 0x16a4]
push 0x617
push 0x8b1
call fcn.004db200
mov ecx, ebx
call fcn.004d5200
push 0x57cc84
mov byte [ebx + 0x3dac], al
call fcn.004d9ef0
push eax
push edi
call fcn.004d93e0
mov byte [ebx], 1
mov eax, 0x755
mov ecx, dword [ebp - 4]
add esp, 0xc
xor ecx, ebp
pop esi
pop edi
pop ebx
call fcn.0052388c
mov esp, ebp
pop ebp
ret 4