Function at 0x42a311
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xf4
mov dword [esp + 4], 0x3373316d
mov dword [esp + 8], 0x2fbe2dbc
mov dword [esp + 0xc], 0x2b8b2994
mov dword [esp + 0x10], 0x278725a8
mov dword [esp + 0x14], 0x2322217d
lea eax, [esp + 0x18]
mov byte [esp + 0x18], 0
mov ecx, 0x88482f0c
movzx edx, byte [esp + ecx + 0x77b7d0f8]
xor edx, ecx
mov esi, edx
xor esi, 0xa968eb3d
and edx, 0x4c2
add edx, edx
sub edx, esi
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + ecx + 0x77b7d0f8], dl
inc ecx
cmp ecx, 0x88482f21
jne 0x42a1d0
lea ebx, [esp + 0xae]
lea edx, [esp + 4]
mov edi, ebx
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xc2]
xor ebp, ebp
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0x4c]
push esi
push 0
push 0
push 9
push ebx
push 0
call dword [0x44dd10]
mov dword [esp + 4], 0x4f8e89ef
mov word [esp + 8], 0
mov byte [esp + 0xa], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + ebp + 4]
lea edx, [ebp - 0x2f95c95e]
and edx, ecx
add ecx, ebp
add ecx, 0xd06a36a2
add edx, edx
sub ecx, edx
add cl, 0xd6
mov byte [esp + ebp + 4], cl
mov ecx, ebp
and ecx, 1
xor ebp, 1
lea ebp, [ebp + ecx*2]
cmp ebp, 7
jb case.default.0x42a29c
xor ecx, ecx
cmp eax, dword [esp + 4]
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x448ed8]
jmp dword [0x448ee0]
mov edi, dword [esp + 0x4c]
test edi, edi
jns 0x42a2b8
mov eax, 0xffffffff
jmp 0x42a2bb
lea eax, [edi + edi]
push eax
call fcn.00408ac0
add esp, 4
push esi
push edi
push eax
push 9
push ebx
push 0
call dword [0x44dd10]
jmp case.0x42a29c.2
mov eax, 0xffffffff
push eax
call fcn.00408ac0
add esp, 4
mov ebp, eax
push esi
push edi
push eax
push 9
push ebx
push 0
call dword [0x44dd10]
jmp dword [0x448ee8]
mov edi, dword [esp + 0x4c]
test edi, edi
js 0x42a2e0
lea eax, [edi + edi]
jmp 0x42a2e5
mov dword [esp + 0x44], ebp
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x448ef0]
jmp dword [0x448f04]
mov dword [esp + 0x54], ebp
mov dword [esp + 4], 0xb7df89c4
mov dword [esp + 8], 0xb3ddb52b
mov dword [esp + 0xc], 0xbf20b123
mov dword [esp + 0x10], 0xbbbabdd0
mov word [esp + 0x14], 0
mov eax, 0x1de80a9f
mov ecx, 0xe217f560
mov edx, 0x6217f561
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x1de80a9b]
lea edi, [eax - 1]
xor edi, esi
or edi, edx
mov ebp, ecx
sub ebp, edi
sub ebp, edi
lea edi, [eax + edi*2]
and edi, esi
not esi
and esi, ebp
sub edi, esi
add edi, 0x6a77cae9
mov esi, edi
and esi, 1
xor edi, 1
lea ebx, [edi + esi*2]
mov byte [esp + eax - 0x1de80a9b], bl
inc eax
dec ecx
dec edx
cmp eax, 0x1de80ab1
jne 0x42a390
lea edi, [esp + 0x9e]
lea edx, [esp + 4]
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xae]
xor edx, edx
lea esi, [esp + 0x14]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 4], 0x49dd4bb0
mov dword [esp + 8], 0x45db47c5
mov dword [esp + 0xc], 0x41cc43d5
mov dword [esp + 0x10], 0x7d837fdc
mov dword [esp + 0x14], 0x79e87be3
mov dword [esp + 0x18], 0x75f877e7
mov dword [esp + 0x1c], 0x717273f3
lea esi, [esp + 0x20]
mov byte [esp + 0x20], 0
nop
movzx edi, byte [esp + edx + 4]
lea ecx, [edx - 0x3a5ad9ed]
and ecx, edi
add ecx, ecx
neg ecx
add ecx, edx
add ecx, 0xc5a52613
add ecx, edi
mov edi, ecx
and edi, 1
or ecx, 1
add ecx, edi
add cl, 0xa0
mov byte [esp + edx + 4], cl
mov ecx, edx
and ecx, 1
xor edx, 1
lea edx, [edx + ecx*2]
cmp edx, 0x1d
jb 0x42a440
lea edx, [esp + 0xd8]
lea ebx, [esp + 4]
mov edi, edx
mov ecx, 7
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [esp + 0xf4]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 4], 0xf35bf1bc
mov dword [esp + 8], 0xff5dfd4f
mov dword [esp + 0xc], 0xfb48f94f
mov dword [esp + 0x10], 0xc796c568
mov dword [esp + 0x14], 0xc380c19c
lea ebx, [esp + 0x18]
mov word [esp + 0x18], 0xcdcc
mov dword [esp + 0x1a], 0
mov word [esp + 0x1e], 0
mov ecx, 0x98393d54
mov esi, 0xab
movzx edi, byte [esp + ecx + 0x67c6c2b0]
mov ebp, ecx
or ebp, edi
not edi
or edi, esi
and edi, ebp
mov ebp, edi
and ebp, 0x5b
xor edi, 0x5b
lea eax, [edi + ebp*2]
inc al
mov byte [esp + ecx + 0x67c6c2b0], al
inc ecx
dec esi
cmp ecx, 0x98393d70
jne 0x42a4f0
lea esi, [esp + 0xc2]
lea eax, [esp + 4]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xd6]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0x9e]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], esi
add dword [esp + 0x54], 2
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x58], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x448f20]
add esp, 0xf4
pop esi
pop edi
pop ebx
pop ebp
ret