Function at 0x426b50
Capabilities:
Print debug messages
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x460
mov esi, esp
mov eax, dword [0x4df19c]
lea edi, [ecx + 4]
xor eax, ebp
mov dword [esi + 0x458], eax
mov dword [esi + 0x2c], ecx
mov eax, dword [ecx + 4]
mov edx, dword [eax + 4]
test byte [ecx + edx + 0x14], 5
je 0x426b95
movaps xmm0, xmmword [0x4bf730]
mov dword [esi + 0xc], 0xffffffff
movaps xmmword [esi + 0x50], xmm0
jmp 0x426bb2
mov ecx, dword [edi + edx + 0x18]
lea edx, [esi + 0x50]
mov eax, dword [ecx]
push 0x10
push 1
push 0
push 0
push edx
call dword [eax + 0xc]
mov eax, dword [esi + 0x58]
mov dword [esi + 0xc], eax
mov eax, dword [edi]
mov ecx, dword [eax + 4]
lea ebx, [esi + 0x50]
add ecx, edi
push ebx
call fcn.00408826
mov ecx, ebx
push 0x4e0fd0
call fcn.0040b9fc
mov edx, dword [eax]
mov ecx, eax
push 0xa
call dword [edx + 0x1c]
lea ecx, [esi + 0x50]
mov ebx, eax
call fcn.0040b972
movsx eax, bl
mov ecx, edi
push eax
call fcn.004097e0
mov ecx, edi
mov dword [esi + 0x24], edi
call fcn.00408e00
mov edi, dword [esi + 0x2c]
lea ebx, [esi + 0x34]
lea ecx, [edi + 8]
mov dword [esi + 0x28], ecx
push ebx
call fcn.00427670
mov eax, dword [0x4e1698]
test eax, eax
je 0x426c3c
push ebx
push dword [edi + 0x8c]
push dword [edi + 0x94]
push dword [edi + 0x90]
push dword [edi]
call eax
add esp, 0x14
test al, al
je 0x426c3c
cmp byte [esi + 0x3f], 0
jns 0x426f03
jmp 0x426ef8
test byte [0x4df170], 2
jne 0x426c6c
cmp dword [edi], 2
jl 0x426cb6
push 2
call fcn.0049a5df
add esp, 4
movzx ecx, byte [esi + 0x3f]
lea edx, [esi + 0x34]
test cl, cl
cmovs ecx, dword [esi + 0x38]
cmovs edx, dword [esi + 0x34]
push eax
push 1
push ecx
push edx
jmp 0x426c9b
cmp byte [esi + 0x3f], 0
mov eax, ebx
jns 0x426c77
mov eax, dword [esi + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 2
call fcn.0049a5df
add esp, 4
movzx ecx, byte [esi + 0x3f]
test cl, cl
jns 0x426c96
mov ecx, dword [esi + 0x38]
mov ebx, dword [esi + 0x34]
push eax
push 1
push ecx
push ebx
call fcn.004a9705
add esp, 0x10
push 2
call fcn.0049a5df
add esp, 4
push eax
call fcn.004a9040
add esp, 4
test byte [0x4df170], 1
je 0x426ced
call fcn.004264e0
test al, al
je 0x426ced
movzx eax, byte [esi + 0x3f]
lea ecx, [esi + 0x34]
test al, al
cmovs eax, dword [esi + 0x38]
cmovs ecx, dword [esi + 0x34]
push 0
lea edx, [esi + 0x50]
push edx
push eax
push ecx
push dword [0x4e16b8]
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [edi], 3
jne 0x426d32
mov ecx, dword [0x4e1848]
lea ebx, [esi + 0x34]
test ecx, ecx
je 0x426d16
movzx eax, byte [esi + 0x3f]
mov edx, ebx
test al, al
jns 0x426d0f
mov edx, dword [esi + 0x34]
mov eax, dword [esi + 0x38]
push eax
push edx
call fcn.00433430
cmp byte [ebx + 0xb], 0
mov dword [esi + 0x50], 0xbedead01
mov dword [esi + 0x454], 0x5050dead
jns 0x426d3a
mov eax, dword [esi + 0x34]
jmp 0x426d3d
lea ebx, [esi + 0x34]
jmp 0x426ef2
lea eax, [esi + 0x34]
lea ecx, [esi + 0x54]
push 0x400
push eax
push ecx
call fcn.0042e1f0
add esp, 0xc
lea eax, [esi + 0x50]
push eax
call fcn.00403610
add esp, 4
mov eax, dword [0x4e16a4]
test eax, eax
je 0x426f67
mov eax, dword [0x4e16a4]
cmp eax, 1
ja 0x426dd0
push 0x4e16a4
call fcn.00431b50
add esp, 4
test al, al
je 0x426dcb
mov dword [0x4e16ac], 0
mov dword [0x4e16a8], 0
mov dword [0x4e16b4], 0
mov dword [0x4e16b0], 0
push 0x4e16a4
push 0
push 0x4e16a8
push 0x4e16a4
call fcn.00431c00
add esp, 0x10
mov eax, 0x4e16a8
jmp 0x426dd0
mov eax, dword [0x4e16a4]
mov ecx, dword [eax + 8]
cmp ecx, dword [eax + 0xc]
je 0x426f67
mov eax, dword [0x4e16a4]
cmp eax, 1
ja 0x426e44
push 0x4e16a4
call fcn.00431b50
add esp, 4
test al, al
je 0x426e3f
mov dword [0x4e16ac], 0
mov dword [0x4e16a8], 0
mov dword [0x4e16b4], 0
mov dword [0x4e16b0], 0
push 0x4e16a4
push 0
push 0x4e16a8
push 0x4e16a4
call fcn.00431c00
add esp, 0x10
mov eax, 0x4e16a8
jmp 0x426e44
mov eax, dword [0x4e16a4]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 4]
test edx, edx
cmove edx, ecx
dec edx
cmp ecx, edx
jb 0x426f6c
shl edx, 2
lea ecx, [esi + 0x30]
add edx, dword [eax]
push edx
call fcn.004215c0
mov eax, dword [esi + 0x30]
test eax, eax
je 0x426eea
cmp byte [ebx + 0xb], 0
jns 0x426e78
mov ecx, dword [esi + 0x34]
jmp 0x426e7b
lea ecx, [esi + 0x34]
mov dword [esi + 0x18], ecx
add ecx, dword [esi + 0xc]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], ebx
mov dword [esi + 0x14], ecx
je 0x426e9a
push ecx
call fcn.004aa6f0
add esp, 4
mov dword [esi + 0x10], eax
jmp 0x426ea1
mov dword [esi + 0x10], 0
mov eax, edi
mov ecx, dword [edi + 0x8c]
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0xc]
mov edx, dword [eax + 0x94]
add edi, ecx
sub ebx, ecx
mov ecx, dword [eax + 0x90]
mov dword [esi + 0x48], edi
mov edi, eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x4c], ebx
lea ebx, [esi + 0x48]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x44], eax
lea eax, [esi + 0x40]
push eax
push ebx
push edx
push ecx
mov eax, dword [esi + 0x1c]
push eax
call dword [eax + 4]
add esp, 0x14
mov ebx, dword [esi + 0x20]
lea ecx, [esi + 0x30]
call fcn.004215a0
cmp byte [ebx + 0xb], 0
jns 0x426f03
push dword [esi + 0x34]
call fcn.00495666
add esp, 4
lea ecx, [edi + 0x98]
call fcn.00431c60
mov eax, dword [edi + 4]
lea ebx, [edi + 0x3c]
mov eax, dword [eax + 4]
mov dword [edi + eax + 4], 0x4c2218
mov dword [edi + 8], 0x4c2230
cmp byte [edi + 0x33], 0
jns 0x426f3a
mov eax, dword [esi + 0x24]
push dword [eax + 0x24]
call fcn.00495666
add esp, 4
mov edi, dword [esi + 0x28]
mov ecx, edi
call fcn.00408d48
mov ecx, edi
call fcn.00403610
mov ecx, ebx
call fcn.00408d42
mov ecx, dword [esi + 0x458]
xor ecx, ebp
call fcn.004956a1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
int3