Function at 0x42cdb0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x290
mov eax, dword [esp + 0x2b4]
mov ecx, dword [esp + 0x2b0]
mov edx, dword [esp + 0x2ac]
push ebx
mov ebx, dword [esp + 0x2c0]
push ebp
push esi
push edi
mov edi, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x2ac]
push ebx
mov esi, dword [esp + 0x2a8]
push edi
push eax
mov eax, dword [esp + 0x2c4]
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.0042cd90
add esp, 0x2c
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.004b4b70
test ebp, ebp
je 0x42d03b
test bl, 1
je 0x42d03b
mov cl, byte [esp + 0x2c2]
mov dl, byte [esp + 0x2ae]
shr cl, 4
and cl, 1
and dl, 1
xor cl, dl
je 0x42d03b
cmp byte [0x66f4e4], 0x66
je 0x42d03b
mov eax, dword [0x6c7d78]
test eax, eax
jne 0x42d03b
mov eax, ebx
and eax, 0x1fff
cmp eax, 0x1998
jne 0x42d03b
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 0x42cfcb
mov edx, dword [0x683854]
push 0x40000
push 0
push edx
lea eax, [esp + 0xac]
push 0xffffffffffffffff
push eax
call fcn.0042a3e0
mov ecx, dword [0x683854]
push 0x10
push ecx
call fcn.004b4a10
push 0
push 0
push 0x612700
call fcn.004b7620
or eax, 0x80000000
push 0
push eax
push 0x612700
call fcn.004b7850
mov edi, dword [esp + 0x2fc]
add esp, 0x34
mov edx, dword [esp + 0x2c4]
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
push ebx
push edi
push edx
mov edx, dword [esp + 0x2c4]
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.0042dac0
mov eax, dword [0x760b24]
add esp, 0x30
test eax, eax
je 0x42d098
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
lea eax, [esi + 0x2d8]
push 0
push eax
push esi
call fcn.00416090
mov eax, dword [esi + 0x2cc]
add esp, 0xc
test eax, eax
jne 0x42d238
mov ecx, dword [esp + 0x2c4]
mov edx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2bc]
push ebx
push edi
push ecx
mov ecx, dword [esp + 0x2c4]
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.0042bcb0
mov eax, dword [0x760b24]
add esp, 0x2c
test eax, eax
je 0x42d113
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x141c]
test eax, eax
je 0x42d178
mov edx, dword [esp + 0x2c4]
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
push ebx
push edi
push edx
mov edx, dword [esp + 0x2c4]
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.004174a0
mov eax, dword [0x760b24]
add esp, 0x2c
test eax, eax
je 0x42d178
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x3be0]
test eax, eax
je 0x42d1dd
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
push ebx
push edi
push eax
mov eax, dword [esp + 0x2c4]
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.004203f0
mov eax, dword [0x760b24]
add esp, 0x2c
test eax, eax
je 0x42d1dd
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov ecx, dword [esp + 0x2c4]
mov edx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2bc]
push ebx
push edi
push ecx
mov ecx, dword [esp + 0x2c4]
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.0042bf90
mov eax, dword [0x760b24]
add esp, 0x2c
test eax, eax
je 0x42d238
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x3ae8]
test eax, eax
je 0x42d29d
mov edx, dword [esp + 0x2c4]
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
push ebx
push edi
push edx
mov edx, dword [esp + 0x2c4]
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.00436300
mov eax, dword [0x760b24]
add esp, 0x2c
test eax, eax
je 0x42d29d
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x2cc]
test eax, eax
jne 0x42d302
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
push ebx
push edi
push eax
mov eax, dword [esp + 0x2c4]
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.0042c2b0
mov eax, dword [0x760b24]
add esp, 0x2c
test eax, eax
je 0x42d302
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x3ae8]
test eax, eax
je 0x42d630
mov ecx, dword [esp + 0x2c4]
mov edx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2bc]
push ebx
push edi
push ecx
mov ecx, dword [esp + 0x2c4]
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.00437e70
mov edx, dword [esp + 0x2f0]
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2e8]
push ebx
push edi
push edx
mov edx, dword [esp + 0x2f0]
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.004363f0
mov eax, dword [esp + 0x31c]
mov ecx, dword [esp + 0x318]
mov edx, dword [esp + 0x314]
add esp, 0x58
push ebx
push edi
push eax
mov eax, dword [esp + 0x2c4]
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.004363f0
mov ecx, dword [esp + 0x2f0]
mov edx, dword [esp + 0x2ec]
mov eax, dword [esp + 0x2e8]
push ebx
push edi
push ecx
mov ecx, dword [esp + 0x2f0]
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.00436de0
mov edx, dword [esp + 0x31c]
add esp, 0x58
push ebx
push edi
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c4]
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.00437ec0
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x2ec]
mov edx, dword [esp + 0x2e8]
push ebx
push edi
push eax
mov eax, dword [esp + 0x2f0]
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.00436f70
mov ecx, dword [esp + 0x31c]
mov edx, dword [esp + 0x318]
mov eax, dword [esp + 0x314]
add esp, 0x58
push ebx
push edi
push ecx
mov ecx, dword [esp + 0x2c4]
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.004370a0
mov eax, dword [esi + 0x2cc]
add esp, 0x2c
test eax, eax
je 0x42d594
mov eax, dword [0x672fa8]
test eax, eax
je 0x42d53e
mov edx, dword [esp + 0x2c4]
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
push ebx
push edi
push edx
mov edx, dword [esp + 0x2c4]
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.00427870
add esp, 0x2c
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
push ebx
push edi
push eax
mov eax, dword [esp + 0x2c4]
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.00427b50
add esp, 0x2c
cmp eax, 0xffffffff
jne 0x42d594
pop edi
pop esi
pop ebp
or eax, eax
pop ebx
add esp, 0x290
ret
mov ecx, dword [esp + 0x2c4]
mov edx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2bc]
push ebx
push edi
push ecx
mov ecx, dword [esp + 0x2c4]
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.00437260
mov edx, dword [esp + 0x2f0]
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2e8]
push ebx
push edi
push edx
mov edx, dword [esp + 0x2f0]
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.00437b60
mov eax, dword [0x760b24]
add esp, 0x58
test eax, eax
je 0x42d630
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [0x672fa8]
test eax, eax
je 0x42d6a2
mov eax, dword [esi + 0x2cc]
test eax, eax
jne 0x42d966
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
push ebx
push edi
push eax
mov eax, dword [esp + 0x2c4]
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.00427870
mov eax, dword [0x760b24]
add esp, 0x2c
test eax, eax
je 0x42d6a2
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x2cc]
test eax, eax
jne 0x42d966
mov ecx, dword [esp + 0x2c4]
mov edx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2bc]
push ebx
push edi
push ecx
mov ecx, dword [esp + 0x2c4]
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.0042c3b0
mov eax, dword [0x760b24]
add esp, 0x2c
test eax, eax
je 0x42d70b
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x3be0]
test eax, eax
je 0x42d770
mov edx, dword [esp + 0x2c4]
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
push ebx
push edi
push edx
mov edx, dword [esp + 0x2c4]
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.00420240
mov eax, dword [0x760b24]
add esp, 0x2c
test eax, eax
je 0x42d770
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
push ebx
push edi
push eax
mov eax, dword [esp + 0x2c4]
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.00427b50
add esp, 0x2c
cmp eax, 0xffffffff
jne 0x42d7c6
pop edi
pop esi
pop ebp
or eax, eax
pop ebx
add esp, 0x290
ret
mov ecx, dword [esp + 0x2c4]
mov edx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2bc]
push ebx
push edi
push ecx
mov ecx, dword [esp + 0x2c4]
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 + 0x1418]
push eax
push ebp
push ecx
push edx
push esi
call fcn.0042bbb0
mov eax, dword [0x760b24]
add esp, 0x30
test eax, eax
je 0x42d828
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x3be0]
test eax, eax
je 0x42d894
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
push ebx
push edi
push eax
mov eax, dword [esp + 0x2c4]
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 + 0x1418]
push edx
push ebp
push eax
push ecx
push esi
call fcn.00420130
mov eax, dword [0x760b24]
add esp, 0x30
test eax, eax
je 0x42d894
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x2cc]
test eax, eax
jne 0x42d966
mov eax, dword [esi + 0x141c]
test eax, eax
je 0x42d966
mov edx, dword [esp + 0x2c4]
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
push ebx
push edi
push edx
mov edx, dword [esp + 0x2c4]
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.00417790
mov eax, dword [0x760b24]
add esp, 0x2c
test eax, eax
je 0x42d90b
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
push ebx
push edi
push eax
mov eax, dword [esp + 0x2c4]
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.00417830
mov eax, dword [0x760b24]
add esp, 0x2c
test eax, eax
je 0x42d966
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x3c28]
test eax, eax
je 0x42d9b4
mov ecx, dword [esp + 0x2c4]
mov edx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2bc]
push ebx
push edi
push ecx
mov ecx, dword [esp + 0x2c4]
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.00426750
add esp, 0x2c
mov edx, dword [esp + 0x2c4]
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2bc]
push ebx
push edi
push edx
mov edx, dword [esp + 0x2c4]
push eax
mov eax, dword [esp + 0x2c4]
push ecx
mov ecx, dword [esp + 0x2c4]
push edx
mov edx, dword [esp + 0x2c0]
push eax
mov eax, dword [esi + 0x1418]
push ecx
push ebp
push edx
push eax
push esi
call fcn.00424cc0
mov ecx, dword [esp + 0x2f4]
mov edx, dword [esp + 0x2f0]
mov eax, dword [esp + 0x2ec]
push ebx
push edi
push ecx
mov ecx, dword [esp + 0x2f4]
push edx
mov edx, dword [esp + 0x2f4]
push eax
mov eax, dword [esp + 0x2f4]
push ecx
mov ecx, dword [esp + 0x2f0]
push edx
mov edx, dword [esi + 0x1418]
push eax
push ebp
push ecx
push edx
push esi
call fcn.0042afa0
mov eax, dword [0x760b24]
add esp, 0x60
test eax, eax
je 0x42da5e
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x290
ret
mov eax, dword [esi + 0x3ae8]
test eax, eax
je 0x42daac
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
push ebx
push edi
push eax
mov eax, dword [esp + 0x2c4]
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.00436f70
add esp, 0x2c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x290
ret