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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x148
cmp byte [ebp + 0x18], 0
je 0x4234d9
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
lea ebx, [esp + 0x20]
push 0x120
push 0
push ebx
call fcn.0040cef0
add esp, 0xc
mov ecx, esi
push 0
push 0
push 0x120
push ebx
push edi
push dword [ebp + 0xc]
call fcn.0043f2f0
test eax, eax
js 0x4234d9
mov dword [esp], 0xa03380a
mov byte [esp + 4], 0x94
mov dword [esp + 5], 0
mov byte [esp + 9], 0
mov eax, 0x57380de6
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x57380de6]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x82
mov byte [esp + eax - 0x57380de6], cl
inc eax
cmp eax, 0x57380df0
jne 0x423490
cmp byte [esp + 0x3f], 0
js 0x4234e0
lea eax, [esp + 0x28]
mov ecx, esp
push eax
push ecx
push dword [ebp + 0x14]
call fcn.004062b0
add esp, 0xc
mov al, 1
mov dword [esp + 0x10], eax
jmp 0x42353b
xor eax, eax
jmp 0x42390e
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov eax, ebx
or eax, esi
je 0x423533
mov edi, dword [esp + 0x30]
inc edi
push edi
call fcn.0040ce70
add esp, 4
mov ecx, dword [ebp + 8]
push 0
push 0
push edi
mov edi, eax
push eax
push esi
push ebx
call fcn.0043f2f0
test eax, eax
setns al
mov dword [esp + 0x10], eax
js 0x423528
mov eax, esp
push edi
push eax
push dword [ebp + 0x14]
call fcn.004062b0
add esp, 0xc
push edi
call fcn.0040ce80
add esp, 4
jmp 0x42353b
mov dword [esp + 0x10], 0
mov dword [esp], 0xaab2b8a2
mov word [esp + 4], 0x1db9
mov dword [esp + 6], 0
mov word [esp + 0xa], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x7a
xor cl, byte [esp + eax]
add cl, 0x9e
mov byte [esp + eax], cl
inc eax
cmp eax, 0xc
jne 0x423560
cmp byte [esp + 0x11f], 0
js 0x423598
lea eax, [esp + 0x108]
mov ecx, esp
push eax
push ecx
push dword [ebp + 0x14]
call fcn.004062b0
add esp, 0xc
mov bl, 1
jmp 0x4235f2
mov ebx, dword [esp + 0x108]
mov esi, dword [esp + 0x10c]
mov eax, ebx
or eax, esi
je 0x4235f0
mov edi, dword [esp + 0x110]
inc edi
push edi
call fcn.0040ce70
add esp, 4
mov ecx, dword [ebp + 8]
push 0
push 0
push edi
mov edi, eax
push eax
push esi
push ebx
call fcn.0043f2f0
test eax, eax
setns bl
js 0x4235e5
mov eax, esp
push edi
push eax
push dword [ebp + 0x14]
call fcn.004062b0
add esp, 0xc
push edi
call fcn.0040ce80
add esp, 4
jmp 0x4235f2
xor ebx, ebx
mov eax, dword [esp + 0x10]
and al, bl
mov dword [esp + 0x10], eax
mov dword [esp], 0x7d7b766c
mov dword [esp + 4], 0x766d7661
mov byte [esp + 8], 0xc
mov dword [esp + 9], 0
mov word [esp + 0xd], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax]
mov ecx, eax
and ecx, 1
mov esi, eax
and esi, 0xe
xor esi, 0xfe
sub esi, ecx
lea ecx, [eax + 1]
mov edi, edx
not edi
mov ebx, ecx
and ebx, edi
or edi, esi
add edx, edi
inc edx
or edx, ebx
add dl, 0xfb
mov byte [esp + eax], dl
mov eax, ecx
cmp ecx, 0xf
jne 0x423630
cmp byte [esp + 0x57], 0
js 0x423683
lea eax, [esp + 0x40]
mov ecx, esp
push eax
push ecx
push dword [ebp + 0x14]
call fcn.004062b0
add esp, 0xc
mov bl, 1
jmp 0x4236d4
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov eax, ebx
or eax, esi
je 0x4236d2
mov edi, dword [esp + 0x48]
inc edi
push edi
call fcn.0040ce70
add esp, 4
mov ecx, dword [ebp + 8]
push 0
push 0
push edi
mov edi, eax
push eax
push esi
push ebx
call fcn.0043f2f0
test eax, eax
setns bl
js 0x4236c7
mov eax, esp
push edi
push eax
push dword [ebp + 0x14]
call fcn.004062b0
add esp, 0xc
push edi
call fcn.0040ce80
add esp, 4
jmp 0x4236d4
xor ebx, ebx
mov eax, dword [esp + 0x10]
and al, bl
mov dword [esp + 0x10], eax
mov dword [esp], 0x599aac9c
mov byte [esp + 4], 0xf0
mov dword [esp + 5], 0
mov dword [esp + 8], 0
mov eax, 0xbb3124fd
nop
movzx ecx, byte [esp + eax + 0x44cedb03]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xf
mov byte [esp + eax + 0x44cedb03], cl
inc eax
cmp eax, 0xbb312509
jne 0x423700
cmp byte [esp + 0x6f], 0
js 0x423745
lea eax, [esp + 0x58]
mov ecx, esp
push eax
push ecx
push dword [ebp + 0x14]
call fcn.004062b0
add esp, 0xc
mov bl, 1
jmp 0x423796
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
mov eax, ebx
or eax, esi
je 0x423794
mov edi, dword [esp + 0x60]
inc edi
push edi
call fcn.0040ce70
add esp, 4
mov ecx, dword [ebp + 8]
push 0
push 0
push edi
mov edi, eax
push eax
push esi
push ebx
call fcn.0043f2f0
test eax, eax
setns bl
js 0x423789
mov eax, esp
push edi
push eax
push dword [ebp + 0x14]
call fcn.004062b0
add esp, 0xc
push edi
call fcn.0040ce80
add esp, 4
jmp 0x423796
xor ebx, ebx
mov eax, dword [esp + 0x10]
and al, bl
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x124]
mov dword [esp], 0x9a92a985
mov dword [esp + 4], 0x88958096
mov dword [esp + 8], 0x3b998d8d
mov byte [esp + 0xc], 0
mov eax, 8
mov esi, 0x77f06177
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax - 8]
lea ebx, [esi - 0x77f06100]
and ebx, 0x49
mov edx, eax
and edx, 0x16
or edx, ebx
mov ebx, esi
or ebx, edi
xor edx, 0x36
and edx, edi
not ebx
or ebx, edx
mov edx, ebx
and edx, 0x57
xor ebx, 0x57
lea edx, [ebx + edx*2]
inc dl
mov byte [esp + eax - 8], dl
inc eax
dec esi
cmp eax, 0x15
jne 0x4237e0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
fild qword [esp + 0x18]
sub esp, 0x10
lea edi, [esp + 0x10]
mov dword [esp + 4], edi
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
fstp qword [esp + 8]
call fcn.00406300
add esp, 0x10
mov dword [esp + 0x14], eax
movzx eax, byte [esp + 0x78]
mov dword [esp], 0xa0b5a2a9
mov dword [esp + 4], 0x5d634e51
mov dword [esp + 8], 0xe955
mov ecx, 0x79fc9e03
nop
nop
nop
nop
movzx esi, byte [edi]
mov ebx, ecx
or ebx, esi
not ebx
lea edx, [ecx - 0x79fc9e00]
and edx, esi
or edx, ebx
add edx, 0x61ef1613
mov esi, edx
xor esi, 0xa1
and edx, 0x5e
add edx, edx
sub edx, esi
add dl, 0xa2
mov byte [edi], dl
inc edi
dec ecx
cmp ecx, 0x79fc9df7
jne 0x423870
mov esi, esp
push eax
push esi
push dword [ebp + 0x14]
call fcn.00406390
add esp, 0xc
mov edi, eax
movzx eax, byte [esp + 0x79]
mov dword [esp], 0xb3b6b5b8
mov dword [esp + 4], 0xbbb8ba4b
mov dword [esp + 8], 0x59d1
or edi, dword [esp + 0x14]
xor ecx, ecx
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x38
xor dl, byte [esp + ecx]
add dl, 0xe8
mov byte [esp + ecx], dl
inc ecx
cmp ecx, 0xc
jne 0x4238e0
push eax
push esi
push dword [ebp + 0x14]
call fcn.00406390
add esp, 0xc
or edi, eax
sete al
mov ecx, dword [esp + 0x10]
and cl, al
mov eax, ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret