Function at 0x35114
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc0
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [esp + 0x48], 0xd9a1dbb9
mov dword [esp + 0x4c], 0xddeadf57
mov dword [esp + 0x50], 0xd1b6d3ee
mov dword [esp + 0x54], 0xd5d6d7b6
mov dword [esp + 0x58], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x13
ja 0x3465b
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x48]
push dword [esp + 0xc]
push eax
call fcn.000359d0
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x14
jb 0x34630
lea eax, [esp + 0x48]
push eax
push esi
push edi
call fcn.0002dbb0
add esp, 0xc
mov dword [esp + 0x48], 0x83278123
mov dword [esp + 0x4c], 0x87328536
mov dword [esp + 0x50], 0x8b648971
mov dword [esp + 0x54], 0x8f2c8d28
mov word [esp + 0x58], 0x9190
mov dword [esp + 0x5a], 0
mov byte [esp + 0x5e], 0
movzx ebx, al
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x16
ja 0x346eb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x48]
push dword [esp + 0xc]
push eax
call fcn.00035a50
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x17
jb 0x346c0
lea eax, [esp + 0x48]
push eax
push esi
push edi
call fcn.0002dbb0
add esp, 0xc
movzx esi, al
mov edi, esi
not edi
xor esi, ebx
add esi, ebx
mov dword [esp + 0x48], 0xc3adc1a6
mov dword [esp + 0x4c], 0xc7abc556
mov dword [esp + 0x50], 0xcba3c9a0
mov dword [esp + 0x54], 0xcf5acd5f
mov dword [esp + 0x58], 0xf360f19f
mov dword [esp + 0x5c], 0xf7d8f56d
mov dword [esp + 0x60], 0xfb6bf96b
mov dword [esp + 0x64], 0xff97fd90
mov dword [esp + 0x68], 0xe387e174
mov word [esp + 0x6c], 0xe5e4
mov dword [esp + 0x6e], 0
mov word [esp + 0x72], 0
and edi, ebx
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x2b
ja 0x347ab
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x48]
push dword [esp + 0xc]
push eax
call fcn.00035ad0
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x2c
jb 0x34780
cmp esi, edi
setne bh
lea eax, [esp + 0x48]
push eax
mov esi, dword [ebp + 0xc]
push esi
mov edi, dword [ebp + 8]
push edi
call fcn.0002dbb0
add esp, 0xc
mov bl, al
mov dword [esp + 0x48], 0xd1bfcfa9
mov dword [esp + 0x4c], 0xd5bfd3a1
mov dword [esp + 0x50], 0xd9b1d7bf
mov dword [esp + 0x54], 0xddf4dbad
mov dword [esp + 0x58], 0xe1addfa9
mov dword [esp + 0x5c], 0xe589e38c
mov dword [esp + 0x60], 0xe981e790
mov dword [esp + 0x64], 0xebe8
mov byte [esp + 0x68], 0
or bl, bh
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x20
ja 0x3484b
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x48]
push dword [esp + 0xc]
push eax
call fcn.00035b60
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x21
jb 0x34820
lea eax, [esp + 0x48]
push eax
push esi
push edi
call fcn.0002dbb0
add esp, 0xc
movzx esi, al
movzx eax, bl
mov edi, esi
not edi
and edi, eax
xor esi, eax
add esi, eax
mov dword [esp + 0x48], 0xc95bcb58
mov dword [esp + 0x4c], 0xc551c751
mov dword [esp + 0x50], 0xc14fc356
mov dword [esp + 0x54], 0xbd28bf12
mov dword [esp + 0x58], 0xb92bbb31
mov dword [esp + 0x5c], 0xb5b6b72a
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x17
ja 0x348db
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x48]
push dword [esp + 0xc]
push eax
call fcn.00035bf0
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x18
jb 0x348b0
cmp esi, edi
setne bl
lea eax, [esp + 0x48]
push eax
mov esi, dword [ebp + 0xc]
push esi
mov edi, dword [ebp + 8]
push edi
call fcn.0002dbb0
add esp, 0xc
mov dword [esp + 0x48], 0x23be21b0
mov dword [esp + 0x4c], 0x27c525c5
mov dword [esp + 0x50], 0xdb49d93d
mov dword [esp + 0x54], 0xdf4ddd02
mov dword [esp + 0x58], 0xd34ed141
mov dword [esp + 0x5c], 0xd742d54d
mov dword [esp + 0x60], 0xcbcac92d
mov dword [esp + 0x64], 0
or al, bl
mov ebx, eax
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x1f
ja 0x3497b
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x48]
push dword [esp + 0xc]
push eax
call fcn.00035c80
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x20
jb 0x34950
lea eax, [esp + 0x48]
push eax
push esi
push edi
call fcn.0002dbb0
add esp, 0xc
mov ecx, ebx
or cl, al
xor eax, eax
cmp dword [ebp + 0x10], 0
sete al
jmp dword [eax*4 + 0x61418]
mov byte [esp + 0xb], cl
mov edi, dword [ebp + 0x14]
lea ecx, [esp + 0x48]
push 1
call fcn.0001d640
mov ecx, dword [esi + 4]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x349c0
cmp eax, 0xffffffeb
jge 0x349dc
mov eax, 0xffffffff
jmp 0x349df
jmp 0x34b02
add eax, 0x14
push eax
call fcn.0001cb00
add esp, 4
mov ebx, eax
mov dword [esp + 0xc], 0x8332815c
mov dword [esp + 0x10], 0x87238536
mov dword [esp + 0x14], 0x8b39892e
mov dword [esp + 0x18], 0x8f248d62
mov dword [esp + 0x1c], 0x93929123
mov byte [esp + 0x20], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x14
ja 0x34a5b
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0xc]
push dword [esp + 4]
push eax
call fcn.00035d10
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0xc], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x15
jb 0x34a30
mov ecx, dword [esi + 4]
movzx edx, word [ecx]
mov eax, ebx
test dx, dx
je 0x34a81
add ecx, 2
mov eax, ebx
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x34a70
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
je 0x34ab1
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 0x34aa0
mov word [eax], 0
lea eax, [esp + 0x3c]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.0005a1e0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x61420]
jmp dword [0x61460]
push ebx
call fcn.0001cb10
add esp, 4
lea ecx, [esp + 0x48]
call fcn.0001de20
lea ecx, [esp + 0x48]
call fcn.0001d680
movzx ecx, byte [esp + 0xb]
and cl, 1
mov eax, ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x44]
push 0
push eax
push dword [esp + 0x44]
call fcn.0005a530
add esp, 0xc
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x61428]
mov dword [esp + 0xb0], ebx
mov esi, dword [esp + 0x44]
lea eax, [esi + 1]
push eax
call fcn.0001cb00
add esp, 4
push 0
push esi
mov dword [esp + 0x3c], eax
push eax
push dword [esp + 0x48]
call fcn.0005a610
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x61430]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
mov byte [ecx + eax], 0
mov dword [esp + 0xc], 0xa2aed3bf
mov dword [esp + 0x10], 0xaca1aaaa
mov dword [esp + 0x14], 0xd860a6ae
mov dword [esp + 0x18], 0xddadb1ab
mov dword [esp + 0x1c], 0x9c9890a0
mov dword [esp + 0x20], 0x989c9e97
mov dword [esp + 0x24], 0x9ee9e85e
mov word [esp + 0x28], 0x9284
mov byte [esp + 0x2a], 0x66
mov word [esp + 0x2b], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x20
ja 0x34bfb
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0xc]
push dword [esp + 4]
push eax
call fcn.00035d90
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0xc], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x21
jb 0x34bd0
movzx ebx, byte [esp + 0xc]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], eax
test bl, bl
je 0x34c4c
lea eax, [esp + 0xc]
mov ecx, eax
mov esi, dword [esp + 0x34]
mov edx, esi
mov dword [esp + 0x30], esi
jmp 0x34c27
movzx ebx, byte [ecx]
test bl, bl
je 0x34c4c
mov bh, byte [edx]
test bh, bh
je 0x34c44
inc edx
inc ecx
mov esi, dword [esp + 0x30]
inc esi
cmp bh, bl
je 0x34c3e
mov dword [esp + 0x30], esi
mov edx, esi
je 0x34c20
mov ecx, eax
jmp 0x34c20
mov dword [esp + 0x30], 0
xor eax, eax
cmp dword [esp + 0x30], 0
setne al
jmp dword [eax*4 + 0x61438]
mov ebx, dword [esp + 0xb0]
jmp dword [0x61458]
push dword [esp + 0x34]
call fcn.0001cb10
add esp, 4
mov esi, dword [esp + 0x3c]
mov dword [esp + 4], 0xecedeeef
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 3
ja 0x34ccb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 4]
push dword [esp + 0xc]
push eax
call fcn.00035e10
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 4], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 4
jb 0x34ca0
mov eax, dword [0x65f70]
test eax, eax
je 0x34cf8
mov ecx, dword [esp + 4]
xor edx, edx
mov edi, dword [0x65f74]
cmp dword [edi + edx*8], 0x625b6034
je 0x34cf0
inc edx
cmp eax, edx
jne 0x34ce0
jmp 0x34cf8
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x34cfe
jmp dword [0x61460]
push esi
push 1
push dword [0x65f78]
push eax
call fcn.00056bb0
add esp, 0x10
jmp dword [0x61460]
xor ecx, ecx
xor eax, eax
cmp ecx, edi
setb al
jmp dword [eax*4 + 0x61440]
mov ecx, dword [esp + 0x40]
inc ecx
xor eax, eax
cmp ecx, edi
setb al
jmp dword [eax*4 + 0x61440]
mov dword [esp + 0x40], ecx
lea ecx, [ecx + ecx*2]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xb4], ecx
mov eax, dword [eax + ecx*4 + 4]
movzx ebx, byte [eax]
mov ecx, dword [esp + 0x30]
test bl, bl
je 0x34d92
mov edx, eax
mov ecx, dword [esp + 0x30]
mov esi, ecx
jmp 0x34d7c
inc ecx
mov esi, ecx
mov edx, eax
movzx ebx, byte [edx]
test bl, bl
je 0x34d92
mov bh, byte [esi]
test bh, bh
je 0x34d90
cmp bh, bl
jne 0x34d70
inc esi
inc edx
jmp 0x34d75
xor ecx, ecx
xor edx, edx
test ecx, ecx
sete dl
jmp dword [edx*4 + 0x61448]
mov esi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, esi
inc esi
cmp byte [edx], 0
jne 0x34db0
sub edx, eax
lea ebx, [ecx + edx]
add ebx, 5
movzx eax, byte [ecx + edx + 5]
xor esi, esi
test al, al
je 0x34de1
mov ecx, ebx
nop
nop
nop
cmp al, 0x5c
je 0x34ddf
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x34dd0
jmp 0x34de1
mov esi, ecx
mov edi, esi
sub edi, ebx
mov eax, edi
inc eax
jns 0x34e00
mov eax, 0xffffffff
jmp 0x34e07
lea eax, [edi*2 + 2]
push eax
call fcn.0001cb00
add esp, 4
mov dword [esp + 0xc], 0
lea ecx, [eax + edi*2]
mov edi, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0xb8], ecx
cmp eax, ecx
jae 0x34e70
mov edi, dword [esp + 0x38]
cmp ebx, esi
jae 0x34e70
mov edi, dword [esp + 0x38]
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x34e70
lea eax, [esp + 0xc]
push eax
push esi
push ebx
call fcn.00021600
add esp, 0xc
movzx ecx, word [esp + 0xc]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0xb8]
jae 0x34e70
add ebx, eax
cmp ebx, esi
jb 0x34e40
nop
nop
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0xb4]
lea eax, [eax + ecx*4]
mov word [edi], 0
push eax
push dword [ebp + 0xc]
mov esi, dword [esp + 0x40]
push esi
lea eax, [esp + 0x54]
push eax
call fcn.00034ed0
add esp, 0x10
movzx ecx, byte [esp + 0xb]
and cl, 1
or cl, al
mov byte [esp + 0xb], cl
mov edi, dword [ebp + 0x14]
jmp dword [0x61450]
push esi
call fcn.0001cb10
add esp, 4
mov ecx, dword [esp + 0x40]
inc ecx
xor eax, eax
cmp ecx, edi
setb al
jmp dword [eax*4 + 0x61440]
jmp dword [0x61478]
push esi
mov ebx, eax
call fcn.0001cb10
mov eax, ebx
add esp, 4
add esp, 0x5c
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 4], 0x29bb2bb7
mov dword [esp + 8], 0x2d7d2fb6
mov dword [esp + 0xc], 0x51ca5347
mov dword [esp + 0x10], 0x553d57c4
mov dword [esp + 0x14], 0x59cf5bc6
mov dword [esp + 0x18], 0x5dcf5f37
mov dword [esp + 0x1c], 0x416f43ce
mov dword [esp + 0x20], 0x456b476d
mov dword [esp + 0x24], 0x49284b6a
mov dword [esp + 0x28], 0x4ddb4fd3
mov dword [esp + 0x2c], 0x71e47327
mov dword [esp + 0x30], 0x75e77735
mov dword [esp + 0x34], 0x79ee7be6
mov dword [esp + 0x38], 0x7de67f13
mov dword [esp + 0x3c], 0x612d63e8
mov dword [esp + 0x40], 0x65256704
mov dword [esp + 0x44], 0x696a6b4a
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x43
ja 0x350f6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 4]
push dword [esp]
push eax
call fcn.00035ef0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x44
jb 0x350d0
lea eax, [esp + 0x48]
lea ecx, [esp + 4]
push eax
push 0x354d0
push ecx
push esi
call fcn.00036240
add esp, 0x10
jmp dword [0x61470]
mov dword [esp + 4], 0x29bb2bb7
mov dword [esp + 8], 0x2d7d2fb6
mov dword [esp + 0xc], 0x51ca5347
mov dword [esp + 0x10], 0x553d57c4
mov dword [esp + 0x14], 0x59cf5bc6
mov dword [esp + 0x18], 0x5dcf5f37
mov dword [esp + 0x1c], 0x416f43ce
mov dword [esp + 0x20], 0x456b476d
mov dword [esp + 0x24], 0x49284b6a
mov dword [esp + 0x28], 0x4ddb4fd3
mov dword [esp + 0x2c], 0x71e47327
mov dword [esp + 0x30], 0x75e77735
mov dword [esp + 0x34], 0x79ee7be6
mov dword [esp + 0x38], 0x7de67f13
mov dword [esp + 0x3c], 0x612d63e8
mov dword [esp + 0x40], 0x65256704
mov dword [esp + 0x44], 0x696a6b4a
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x43
ja 0x351d6
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 4]
push dword [esp]
push eax
call fcn.00035ef0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x44
jb 0x351b0
lea eax, [esp + 0x48]
lea ecx, [esp + 4]
push eax
push 0x354d0
push ecx
push esi
call fcn.00036240
add esp, 0x10
jmp case.0x34997.21
push esi
call fcn.0001cb10
add esp, 4
test edi, edi
setns cl
test bl, 0x10
sete al
and al, cl
add esp, 0x18
pop esi
pop edi
pop ebx
ret
dec ecx
add eax, dword [eax]
xlatb
dec ecx
add eax, dword [eax]
invalid