Function at 0x4233d0
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 0x2c]
sub esp, 0x290
mov ecx, dword [esp + 0x2b0]
mov edx, dword [esp + 0x2ac]
push ebx
mov ebx, dword [esp + 0x2b8]
push ebp
push esi
push edi
mov edi, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2ac]
push eax
mov eax, dword [esp + 0x2bc]
mov esi, dword [esp + 0x2a8]
push edi
push ebx
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c0]
push ecx
push edx
push ebp
push eax
push esi
call fcn.004233b0
add esp, 0x2c
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
test ebp, ebp
mov dword [0x5de0a4], 0
je 0x423655
mov al, byte [esp + 0x2cc]
test al, 1
je 0x423655
mov dl, byte [esp + 0x2b0]
mov cl, bl
shr cl, 3
and cl, 4
and dl, 4
xor cl, dl
je 0x423655
cmp byte [0x59ad5c], 0x66
je 0x423655
mov ecx, dword [0x58d26c]
test ecx, ecx
jne 0x423655
cmp al, 0x55
jne 0x423655
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0xa0]
mov dword [esp + 0x10], 0xa05b7dc
mov dword [esp + 0x14], 0x4f12b1fd
mov dword [esp + 0x18], 0x5e13b6ef
mov dword [esp + 0x1c], 0x4e05aded
mov dword [esp + 0x20], 0x5805a9a8
mov dword [esp + 0x24], 0x440fb6fb
mov dword [esp + 0x28], 0x4401bca8
mov dword [esp + 0x2c], 0x460eb0a8
mov dword [esp + 0x30], 0x5803fff1
mov dword [esp + 0x34], 0x4f14beed
mov dword [esp + 0x38], 0xa12b0a8
mov dword [esp + 0x3c], 0x5e09bbed
mov dword [esp + 0x40], 0x4f08aba8
mov dword [esp + 0x44], 0x4609b9a8
mov dword [esp + 0x48], 0x4217ffed
mov dword [esp + 0x4c], 0xa08bce1
mov dword [esp + 0x50], 0x5905b0ec
mov dword [esp + 0x54], 0x5e0fb1a8
mov dword [esp + 0x58], 0x4918baa8
mov dword [esp + 0x5c], 0xa04baed
mov dword [esp + 0x60], 0xa05b7fc
mov dword [esp + 0x64], 0x4f1ab6fb
mov dword [esp + 0x68], 0xa06b0a8
mov dword [esp + 0x6c], 0x6750efbb
mov dword [esp + 0x70], 0x4534ffa6
mov dword [esp + 0x74], 0x4705ada8
mov dword [esp + 0x78], 0xa05a9e7
mov dword [esp + 0x7c], 0x5909b7fc
mov dword [esp + 0x80], 0x4709b3a8
mov dword [esp + 0x84], 0x5e01abe1
mov dword [esp + 0x88], 0x60eb0e1
mov dword [esp + 0x8c], 0x4f0cafa8
mov dword [esp + 0x90], 0xa05ace9
mov dword [esp + 0x94], 0x4307bafa
mov dword [esp + 0x98], 0x5805abfb
mov dword [esp + 0x9c], 0x2a60dfa6
rep stosd dword es:[edi], eax
mov ecx, dword [esp + eax + 0x10]
add eax, 4
xor ecx, 0x2a60df88
cmp eax, 0x90
mov dword [esp + eax + 0x9c], ecx
jl 0x4235e5
mov edx, dword [0x548c7c]
push 0x40000
push 0
push edx
lea eax, [esp + 0xac]
push 0xffffffffffffffff
push eax
call fcn.00420f90
mov ecx, dword [0x548c7c]
push 0x10
push ecx
call fcn.00486e20
push 0
push 0
push str.Status
call fcn.00488970
or eax, 0x80000000
push 0
push eax
push str.Status
call fcn.00488b80
mov edi, dword [esp + 0x2fc]
add esp, 0x34
mov edx, dword [esp + 0x2cc]
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
push edx
mov edx, dword [esp + 0x2bc]
push edi
push ebx
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c0]
push eax
push ecx
push ebp
push edx
push 0x10
push esi
call fcn.00423f70
mov eax, dword [0x5de0a4]
add esp, 0x30
test eax, eax
je 0x4236b2
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
lea eax, [esi + 0xec]
push 0
push eax
push esi
call fcn.00412740
mov eax, dword [esi + 0xe0]
add esp, 0xc
test eax, eax
jne 0x423852
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2bc]
push ecx
mov ecx, dword [esp + 0x2bc]
push edi
push ebx
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c0]
push edx
push eax
push ebp
push ecx
push esi
call fcn.00422340
mov eax, dword [0x5de0a4]
add esp, 0x2c
test eax, eax
je 0x42372d
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x11fc]
test eax, eax
je 0x423792
mov edx, dword [esp + 0x2cc]
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
push edx
mov edx, dword [esp + 0x2bc]
push edi
push ebx
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c0]
push eax
push ecx
push ebp
push edx
push esi
call fcn.00413830
mov eax, dword [0x5de0a4]
add esp, 0x2c
test eax, eax
je 0x423792
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x386c]
test eax, eax
je 0x4237f7
mov eax, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
push eax
mov eax, dword [esp + 0x2bc]
push edi
push ebx
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c0]
push ecx
push edx
push ebp
push eax
push esi
call fcn.0041b120
mov eax, dword [0x5de0a4]
add esp, 0x2c
test eax, eax
je 0x4237f7
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2bc]
push ecx
mov ecx, dword [esp + 0x2bc]
push edi
push ebx
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c0]
push edx
push eax
push ebp
push ecx
push esi
call fcn.00422610
mov eax, dword [0x5de0a4]
add esp, 0x2c
test eax, eax
je 0x423852
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x3788]
test eax, eax
je 0x4238b7
mov edx, dword [esp + 0x2cc]
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
push edx
mov edx, dword [esp + 0x2bc]
push edi
push ebx
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c0]
push eax
push ecx
push ebp
push edx
push esi
call fcn.00428cd0
mov eax, dword [0x5de0a4]
add esp, 0x2c
test eax, eax
je 0x4238b7
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0xe0]
test eax, eax
jne 0x42391c
mov eax, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
push eax
mov eax, dword [esp + 0x2bc]
push edi
push ebx
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c0]
push ecx
push edx
push ebp
push eax
push esi
call fcn.00422910
mov eax, dword [0x5de0a4]
add esp, 0x2c
test eax, eax
je 0x42391c
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x3788]
test eax, eax
je 0x423b99
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2bc]
push ecx
mov ecx, dword [esp + 0x2bc]
push edi
push ebx
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c0]
push edx
push eax
push ebp
push ecx
push esi
call fcn.0042a780
mov edx, dword [esp + 0x2f8]
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2e8]
push edx
mov edx, dword [esp + 0x2e8]
push edi
push ebx
push eax
mov eax, dword [esp + 0x2f0]
push ecx
mov ecx, dword [esp + 0x2f0]
push edx
mov edx, dword [esp + 0x2ec]
push eax
push ecx
push ebp
push edx
push esi
call fcn.00428dc0
mov eax, dword [esp + 0x324]
mov ecx, dword [esp + 0x318]
mov edx, dword [esp + 0x314]
add esp, 0x58
push eax
mov eax, dword [esp + 0x2bc]
push edi
push ebx
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c0]
push ecx
push edx
push ebp
push eax
push esi
call fcn.00428dc0
mov ecx, dword [esp + 0x2f8]
mov edx, dword [esp + 0x2ec]
mov eax, dword [esp + 0x2e8]
push ecx
mov ecx, dword [esp + 0x2e8]
push edi
push ebx
push edx
mov edx, dword [esp + 0x2f0]
push eax
mov eax, dword [esp + 0x2f0]
push ecx
mov ecx, dword [esp + 0x2ec]
push edx
push eax
push ebp
push ecx
push esi
call fcn.00429810
mov edx, dword [esp + 0x324]
add esp, 0x58
push edx
push edi
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x2c4]
mov edx, dword [esp + 0x2c0]
push ebx
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c0]
push eax
push ecx
push ebp
push edx
push esi
call fcn.0042a7d0
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2ec]
mov edx, dword [esp + 0x2e8]
push eax
mov eax, dword [esp + 0x2e8]
push edi
push ebx
push ecx
mov ecx, dword [esp + 0x2f0]
push edx
mov edx, dword [esp + 0x2f0]
push eax
mov eax, dword [esp + 0x2ec]
push ecx
push edx
push ebp
push eax
push esi
call fcn.004299a0
mov ecx, dword [esp + 0x324]
mov edx, dword [esp + 0x318]
mov eax, dword [esp + 0x314]
add esp, 0x58
push ecx
mov ecx, dword [esp + 0x2bc]
push edi
push ebx
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c0]
push edx
push eax
push ebp
push ecx
push esi
call fcn.00429ac0
mov edx, dword [esp + 0x2f8]
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2e8]
push edx
mov edx, dword [esp + 0x2e8]
push edi
push ebx
push eax
mov eax, dword [esp + 0x2f0]
push ecx
mov ecx, dword [esp + 0x2f0]
push edx
mov edx, dword [esp + 0x2ec]
push eax
push ecx
push ebp
push edx
push esi
call fcn.00429c80
mov eax, dword [esp + 0x324]
mov ecx, dword [esp + 0x318]
add esp, 0x58
push eax
push edi
push ebx
push ecx
mov edx, dword [esp + 0x2cc]
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c0]
push ecx
push edx
push ebp
push eax
push esi
call fcn.0042a430
mov eax, dword [0x5de0a4]
add esp, 0x2c
test eax, eax
je 0x423b99
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [0x5362f8]
test eax, eax
je 0x423c0b
mov eax, dword [esi + 0xe0]
test eax, eax
jne 0x423da7
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2bc]
push ecx
mov ecx, dword [esp + 0x2bc]
push edi
push ebx
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c0]
push edx
push eax
push ebp
push ecx
push esi
call fcn.0041f910
mov eax, dword [0x5de0a4]
add esp, 0x2c
test eax, eax
je 0x423c0b
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0xe0]
test eax, eax
jne 0x423da7
mov edx, dword [esp + 0x2cc]
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
push edx
mov edx, dword [esp + 0x2bc]
push edi
push ebx
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c0]
push eax
push ecx
push ebp
push edx
push esi
call fcn.00422a10
mov eax, dword [0x5de0a4]
add esp, 0x2c
test eax, eax
je 0x423c74
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x386c]
test eax, eax
je 0x423cd9
mov eax, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
push eax
mov eax, dword [esp + 0x2bc]
push edi
push ebx
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c0]
push ecx
push edx
push ebp
push eax
push esi
call fcn.0041af70
mov eax, dword [0x5de0a4]
add esp, 0x2c
test eax, eax
je 0x423cd9
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2bc]
push ecx
mov ecx, dword [esp + 0x2bc]
push edi
push ebx
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c0]
push edx
mov edx, dword [esi + 0x11f8]
push eax
push ebp
push ecx
push edx
push esi
call fcn.00422240
mov eax, dword [0x5de0a4]
add esp, 0x30
test eax, eax
je 0x423d3b
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x386c]
test eax, eax
je 0x423da7
mov eax, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
push eax
mov eax, dword [esp + 0x2bc]
push edi
push ebx
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c0]
push ecx
mov ecx, dword [esi + 0x11f8]
push edx
push ebp
push eax
push ecx
push esi
call fcn.0041ae60
mov eax, dword [0x5de0a4]
add esp, 0x30
test eax, eax
je 0x423da7
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x11fc]
test eax, eax
je 0x423e6b
mov edx, dword [esp + 0x2cc]
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
push edx
mov edx, dword [esp + 0x2bc]
push edi
push ebx
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c0]
push eax
push ecx
push ebp
push edx
push esi
call fcn.00413b00
mov eax, dword [0x5de0a4]
add esp, 0x2c
test eax, eax
je 0x423e10
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
push eax
mov eax, dword [esp + 0x2bc]
push edi
push ebx
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c0]
push ecx
push edx
push ebp
push eax
push esi
call fcn.00413b90
mov eax, dword [0x5de0a4]
add esp, 0x2c
test eax, eax
je 0x423e6b
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2bc]
push ecx
mov ecx, dword [esp + 0x2bc]
push edi
push ebx
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c0]
push edx
mov edx, dword [esi + 0x11f8]
push eax
push ebp
push ecx
push edx
push esi
call fcn.0041e800
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x2f0]
mov edx, dword [esp + 0x2ec]
push eax
mov eax, dword [esp + 0x2ec]
push edi
push ebx
push ecx
mov ecx, dword [esp + 0x2f4]
push edx
mov edx, dword [esp + 0x2f4]
push eax
mov eax, dword [esp + 0x2f0]
push ecx
mov ecx, dword [esi + 0x11f8]
push edx
push ebp
push eax
push ecx
push esi
call fcn.004218f0
mov eax, dword [0x5de0a4]
add esp, 0x60
test eax, eax
je 0x423f15
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x3788]
test eax, eax
je 0x423f63
mov edx, dword [esp + 0x2cc]
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
push edx
mov edx, dword [esp + 0x2bc]
push edi
push ebx
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c0]
push eax
push ecx
push ebp
push edx
push esi
call fcn.004299a0
add esp, 0x2c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x290
ret