Function at 0x4234e0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xe4
mov eax, dword [0x44bbcc]
mov dword [esp + 0xc], 0xc975cb17
mov dword [esp + 0x10], 0xc556c758
mov dword [esp + 0x14], 0xc15dc378
mov dword [esp + 0x18], 0xbd21bf4c
mov dword [esp + 0x1c], 0xb9babb67
mov word [esp + 0x20], 0
mov byte [esp + 0x22], 0
mov dword [esp + 0x58], 0
mov ecx, dword [esp + 0x58]
cmp ecx, 0x16
ja 0x42358e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x58]
movzx edx, byte [esp + edx + 0xc]
lea esi, [ecx + edx]
add esi, 0x70954833
add ecx, 0x33
and ecx, edx
mov edx, esi
xor edx, ecx
add edx, ecx
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0xb8]
inc cl
mov edx, dword [esp + 0x58]
mov byte [esp + edx + 0xc], cl
inc dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
cmp ecx, 0x17
jb 0x423540
lea edi, [esp + 0x88]
lea esi, [esp + 0xc]
push edi
push 0
push 0
push 9
push esi
push 0
call eax
mov ebx, dword [esp + 0x88]
test ebx, ebx
jns 0x4235b7
mov eax, 0xffffffff
jmp 0x4235ba
lea eax, [ebx + ebx]
push eax
call fcn.00408680
add esp, 4
mov dword [esp + 0x50], eax
mov eax, dword [0x44bbcc]
mov dword [esp + 0xc], 0x2165277b
mov dword [esp + 0x10], 0x5db223b0
mov dword [esp + 0x14], 0x593d5f20
mov dword [esp + 0x18], 0x55395bd4
mov dword [esp + 0x1c], 0x5156570b
mov byte [esp + 0x20], 0
mov dword [esp + 0x58], 0
mov ecx, dword [esp + 0x58]
cmp ecx, 0x14
ja 0x423654
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x58]
movzx edx, byte [esp + edx + 0xc]
add ecx, 0xc83a8f39
xor ecx, edx
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0xb8]
mov edx, ecx
xor edx, 0x1d
and ecx, 0x62
add ecx, ecx
sub ecx, edx
mov edx, dword [esp + 0x58]
mov byte [esp + edx + 0xc], cl
inc dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
cmp ecx, 0x15
jb 0x423610
push edi
push ebx
push dword [esp + 0x58]
push 9
push esi
push 0
call eax
mov dword [esp + 0xc], 0xe905eb20
mov dword [esp + 0x10], 0xed0bef1d
mov dword [esp + 0x14], 0xf104f31d
mov dword [esp + 0x18], 0xf5f6f714
lea edx, [esp + 0x1c]
mov word [esp + 0x1c], 0
mov byte [esp + 0x1e], 0
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x58]
cmp eax, 0x12
ja 0x4236ff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
movzx ecx, byte [esp + ecx + 0xc]
lea esi, [eax + 0x27]
and esi, ecx
add eax, ecx
add esi, esi
sub eax, esi
add eax, 0xbf583927
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xb8]
mov ecx, eax
not ecx
and ecx, 0xc3
and eax, 0x3c
sub eax, ecx
mov ecx, dword [esp + 0x58]
mov byte [esp + ecx + 0xc], al
inc dword [esp + 0x58]
mov eax, dword [esp + 0x58]
cmp eax, 0x13
jb 0x4236b0
lea edi, [esp + 0xd4]
lea esi, [esp + 0xc]
mov ecx, 4
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xe4]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0xc], 0x933b915c
mov dword [esp + 0x10], 0x9f3d9d0f
mov dword [esp + 0x14], 0x9b08990f
mov dword [esp + 0x18], 0x87458528
mov dword [esp + 0x1c], 0x83148121
mov dword [esp + 0x20], 0x8f1c8d2d
mov dword [esp + 0x24], 0x8b8a8911
lea esi, [esp + 0x28]
mov byte [esp + 0x28], 0
mov dword [esp + 0x58], 0
mov ecx, dword [esp + 0x58]
cmp ecx, 0x1c
ja 0x4237de
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x58]
movzx edi, byte [esp + edx + 0xc]
lea edx, [ecx + edi]
add ecx, 0xe4
and ecx, edi
sub edx, ecx
add edx, 0xaa0c2ee4
mov edi, edx
not edi
and edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0xb8]
mov edx, ecx
not edx
and edx, 0x74
and ecx, 0x8b
sub ecx, edx
mov edx, dword [esp + 0x58]
mov byte [esp + edx + 0xc], cl
inc dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
cmp ecx, 0x1d
jb 0x423780
lea edx, [esp + 0xb8]
lea ebx, [esp + 0xc]
mov edi, edx
mov ecx, 7
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [esp + 0xd4]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 0xc], 0x1ed07c8
mov dword [esp + 0x10], 0xdef03fd
mov dword [esp + 0x14], 0x9fc0ffd
mov dword [esp + 0x18], 0x15da0be4
mov dword [esp + 0x1c], 0x11d417c8
lea ebx, [esp + 0x20]
mov dword [esp + 0x20], 0x1310
mov byte [esp + 0x24], 0
mov dword [esp + 0x8c], 0
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x18
ja 0x4238cf
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x8c]
mov esi, dword [esp + 0x8c]
movzx esi, byte [esp + esi + 0xc]
lea edi, [ecx + esi]
add edi, 0x6aeb4741
add ecx, 0x6aeb4741
mov ebp, esi
not ebp
or ebp, ecx
lea ecx, [esi + ebp]
add esi, ebp
inc esi
mov ebp, esi
xor ebp, edi
not esi
and esi, edi
add esi, esi
add ecx, ebp
inc ecx
sub esi, ecx
mov dword [esp + 0x58], esi
mov ecx, dword [esp + 0x58]
mov esi, ecx
xor esi, 0x45
and ecx, 0x3a
add ecx, ecx
sub ecx, esi
mov esi, dword [esp + 0x8c]
mov byte [esp + esi + 0xc], cl
inc dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x19
jb 0x423860
lea esi, [esp + 0x58]
lea eax, [esp + 0xc]
mov ebp, eax
mov edi, esi
mov ecx, 5
xchg esi, ebp
rep movsd dword es:[edi], dword [esi]
xchg esi, ebp
mov ebp, eax
lea edi, [esp + 0x6c]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0xd4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], esi
mov eax, dword [esp + 0x50]
add eax, 2
mov dword [esp + 0x9c], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x74], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x4477f0]
jmp dword [0x4477f8]
push dword [esp + 0x50]
call fcn.00408690
add esp, 4
nop
jmp dword [0x4478a8]
mov dword [esp + 0xb0], ecx
mov edi, dword [esp + ecx + 0x8c]
mov esi, 0xfffffffe
nop
nop
nop
nop
cmp word [edi + esi + 2], 0
lea esi, [esi + 2]
jne 0x4239b0
mov edx, esi
sar edx, 1
mov eax, dword [esp + 0x88]
lea ecx, [edx + eax]
add ecx, 0xd
test ecx, ecx
mov dword [esp + 0x78], edx
jns 0x4239e0
mov eax, 0xffffffff
jmp 0x4239e9
add eax, edx
lea eax, [eax*2 + 0x1a]
push eax
call fcn.00408680
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x50]
movzx ecx, word [eax]
mov dword [esp + 0x80], edx
mov eax, edx
test cx, cx
je 0x423a31
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x80]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423a20
mov word [eax], 0x5c
mov dword [esp + 0xc], 0x37e239dc
mov dword [esp + 0x10], 0x33cd35c7
mov dword [esp + 0x14], 0xcf3a31d1
mov dword [esp + 0x18], 0xcb25cdec
mov dword [esp + 0x1c], 0xc727c944
mov dword [esp + 0x20], 0xc33fc548
mov word [esp + 0x24], 0xc1c0
mov word [ebp + 0x1e], 0
mov dword [ebp + 0x1a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1f
ja 0x423acb
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
mov ebx, ecx
and ebx, 0x9de5f6
xor ecx, 0x9de5f6
lea ecx, [ecx + ebx*2]
xor ecx, edx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
add cl, 0x32
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x20
jb 0x423a90
add eax, 2
movzx ecx, word [edi]
test cx, cx
je 0x423af1
lea edx, [edi + 2]
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423ae0
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x423b21
lea edx, [esp + 0xe]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423b10
mov word [eax], 0
lea eax, [esp + 0x84]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x90]
call fcn.0043eed0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447800]
xor ebx, ebx
jmp dword [0x447870]
lea eax, [esp + 0xa4]
push 0
push eax
push dword [esp + 0x8c]
call fcn.0043f220
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x447808]
mov ebx, dword [esp + 0xa4]
lea eax, [ebx + 1]
push eax
call fcn.00408680
add esp, 4
push 0
push ebx
mov dword [esp + 0xa0], eax
push eax
push dword [esp + 0x90]
call fcn.0043f300
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x447810]
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x98]
mov byte [ecx + eax], 0
push ecx
call fcn.00401000
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x447818]
jmp dword [0x447858]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x40], eax
mov dword [esp + 0xc], 0x707f7e7d
mov byte [esp + 0x10], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x423c99
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0xc]
mov edx, eax
and edx, 0xede72815
xor eax, 0x6de72815
lea eax, [eax + edx*2]
xor eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
add al, 0x97
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x423c60
mov ecx, dword [0x44bbd0]
test ecx, ecx
je 0x423cd0
mov edx, dword [esp + 0xc]
xor ebp, ebp
mov eax, dword [0x44bbd4]
nop
nop
cmp dword [eax + ebp*8], 0x625b6034
je 0x423cc0
inc ebp
cmp ecx, ebp
jne 0x423cb0
jmp 0x423cd0
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edx
jne 0x42402c
nop
nop
nop
nop
lea ebp, [esp + 0xc]
jmp dword [0x447870]
push dword [esp + 0x40]
push 1
push dword [0x44bbd8]
push eax
call fcn.0043c6e0
add esp, 0x10
lea ebp, [esp + 0xc]
jmp dword [0x447870]
mov dword [esp + 0xac], eax
push eax
call fcn.00401ac0
add esp, 4
mov dword [esp + 0xc], 0xe8edfefb
mov dword [esp + 0x10], 0xf7f284fa
mov dword [esp + 0x14], 0xe0f4e432
mov dword [esp + 0x18], 0xefea8cf2
mov dword [esp + 0x1c], 0xe0fdfdfd
mov word [esp + 0x20], 0x94f9
mov byte [esp + 0x22], 0x12
mov byte [ebp + 0x19], 0
mov word [ebp + 0x17], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x19
ja 0x4240ec
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
lea ebx, [ecx + 0xc2]
and ebx, edx
add ecx, edx
add ebx, ebx
sub ecx, ebx
add ecx, 0x8e638ec2
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
add cl, 0x36
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1a
jb 0x4240b0
push ebp
push eax
call fcn.00401e80
add esp, 8
mov ecx, 0xffffffff
nop
nop
nop
nop
nop
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x424100
mov dword [esp + 8], ecx
mov edx, dword [esp + 8]
and edx, 0xfffffffc
mov ecx, dword [esp + 8]
and ecx, 3
mov ebx, dword [esp + 8]
or ebx, 3
imul ebx, ecx
xor ecx, 3
imul ecx, edx
mov edx, dword [esp + 8]
add ebx, ecx
shr ebx, 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x424144
cmp ecx, 0x2e
jne 0x424145
dec ebx
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x3d
mov dword [esp + 0x7c], eax
je 0x424158
cmp ecx, 0x2e
jne 0x42415f
mov dword [esp + 0x70], edi
dec ebx
jmp 0x424163
mov dword [esp + 0x70], edi
mov dword [esp + 0xa8], ebx
lea eax, [ebx + 1]
push eax
call fcn.00408680
add esp, 4
mov dword [esp + 0x54], eax
cmp dword [esp + 8], 0
je 0x424291
xor edi, edi
mov ebp, 2
jmp 0x4241b4
mov edx, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [ebp + 4]
add ebp, 2
mov edi, dword [esp + 0x40]
cmp ebp, edx
mov ebp, eax
jae 0x424291
mov ebx, dword [esp + 0x7c]
movzx eax, byte [ebx + ebp - 2]
push eax
call fcn.00418c70
add esp, 4
mov byte [esp + 0x40], al
movzx eax, byte [ebx + ebp - 1]
push eax
call fcn.00418c70
mov edx, dword [esp + 0xc]
add esp, 4
mov bh, al
movzx ecx, byte [esp + 0x40]
shl cl, 2
shr al, 4
and al, 3
or al, cl
lea ecx, [edi + 1]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xa0], edi
mov byte [ecx + edi], al
cmp ebp, edx
jae 0x4241a0
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + ebp]
push eax
call fcn.00418c70
mov edx, dword [esp + 0xc]
add esp, 4
cmp al, 0x40
je 0x4241a0
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [esp + 0xa0]
lea ecx, [edi + 2]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x54]
mov byte [ecx + edi + 1], al
lea eax, [ebp + 1]
cmp eax, edx
jae 0x4241a0
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + ebp + 1]
push eax
call fcn.00418c70
add esp, 4
cmp al, 0x40
je 0x42418e
shl bl, 6
add al, bl
mov edx, dword [esp + 0xa0]
mov ecx, edx
and ecx, 1
mov edi, dword [esp + 0x40]
or edi, 1
add edi, ecx
mov dword [esp + 0x40], edi
mov ecx, dword [esp + 0x54]
mov byte [ecx + edx + 2], al
jmp 0x42418e
mov eax, dword [esp + 0xa8]
add eax, 0xfffffffb
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x54]
add eax, 5
mov dword [esp + 0x48], eax
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x44bbdc]
call fcn.0043e3f0
add esp, 8
mov ecx, esp
lea edx, [esp + 0x44]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447820]
xor ebx, ebx
mov edi, dword [esp + 0x70]
jmp dword [0x447850]
cmp dword [esp + 0x78], 0xfffffff8
mov edi, dword [esp + 0x70]
jge 0x42430c
mov eax, 0xffffffff
jmp 0x42430f
lea eax, [esi + 0x10]
push eax
call fcn.00408680
add esp, 4
mov ebp, eax
mov dword [esp + 0xc], 0x23c621ff
mov dword [esp + 0x10], 0x27f825b4
mov dword [esp + 0x14], 0xdb52d94c
mov dword [esp + 0x18], 0xdfdedd48
mov dword [esp + 0x1c], 0
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x4c]
cmp eax, 0x13
ja 0x4243a4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
movzx ecx, byte [esp + ecx + 0xc]
lea edx, [eax + ecx]
add eax, 0x78
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x71b7be78
mov dword [esp + 0xb4], edx
mov eax, dword [esp + 0xb4]
add al, 0xa8
mov ecx, dword [esp + 0x4c]
mov byte [esp + ecx + 0xc], al
inc dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
cmp eax, 0x14
jb 0x424360
movzx ecx, word [edi]
mov eax, ebp
test cx, cx
je 0x4243d1
lea edx, [edi + 2]
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4243c0
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x424401
lea edx, [esp + 0xe]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4243f0
mov word [eax], 0
mov ecx, dword [esp + 0xf8]
push dword [esp]
push dword [esp + 8]
push ebp
call fcn.00409080
mov ebx, eax
jmp dword [0x447828]
jmp dword [0x447834]
push ebp
call fcn.00408690
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
call fcn.00408690
add esp, 4
jmp dword [0x447838]
jmp dword [0x447844]
push 0xe050b307
push dword [0x44bbc4]
call fcn.0043e3f0
add esp, 8
nop
nop
nop
nop
nop
nop
nop
nop
push 0xe050b307
push dword [0x44bbc4]
call fcn.0043e3f0
add esp, 8
jmp dword [0x44784c]
push dword [esp + 4]
call eax
jmp dword [0x447850]
push dword [esp + 0x54]
call fcn.00408690
add esp, 4
push dword [esp + 0xac]
call fcn.00402070
add esp, 4
jmp dword [0x447858]