Function at 0x50eb50
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x67c
push ebx
mov ebx, dword [esp + 0x684]
push ebp
push esi
mov ebp, ecx
push edi
mov ecx, 0x124
xor eax, eax
mov edi, ebx
xor esi, esi
rep stosd dword es:[edi], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0xb8], 0x9c
push eax
call dword [0x100af0fc]
mov eax, dword [esp + 0xbc]
cmp eax, 4
ja 0x50eb9a
mov esi, 0x10117578
cmp eax, 5
jne 0x50ebc9
mov eax, dword [esp + 0xc0]
test eax, eax
jne 0x50ebb1
mov esi, 0x10117570
jmp 0x50ec28
cmp eax, 1
jne 0x50ebbd
mov esi, 0x1011756c
jmp 0x50ec28
cmp eax, 2
jne 0x50ec28
mov esi, 0x10117564
jmp 0x50ec28
cmp eax, 6
jne 0x50ec28
mov eax, dword [esp + 0xc0]
test eax, eax
jne 0x50ebf1
cmp byte [esp + 0x152], 1
jne 0x50ebea
mov esi, 0x1011755c
jmp 0x50ec28
mov esi, 0x10117554
jmp 0x50ec28
cmp eax, 1
jne 0x50ec0e
cmp byte [esp + 0x152], 1
jne 0x50ec07
mov esi, 0x100f2b14
jmp 0x50ec28
mov esi, 0x1011754c
jmp 0x50ec28
cmp eax, 2
jne 0x50ec28
mov al, byte [esp + 0x152]
mov esi, 0x100f2b10
cmp al, 1
je 0x50ec28
mov esi, 0x10117544
mov ecx, dword [esp + 0x14c]
and ecx, 0xffff
push ecx
push esi
push 0x10117534
push ebx
call dword [0x100af3e4]
mov ecx, 0xc
mov esi, 0x10117504
lea edi, [esp + 0x494]
add esp, 0x10
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x4c]
mov ecx, 0x35
xor eax, eax
lea edi, [esp + 0x4b4]
push edx
push 1
rep stosd dword es:[edi], eax
mov dword [esp + 0x54], eax
push eax
lea eax, [esp + 0x490]
push eax
push 0x80000002
call dword [0x100af02c]
test eax, eax
jne 0x50ed19
mov ecx, 0x40
lea edi, [esp + 0x155]
mov byte [esp + 0x154], al
lea edx, [esp + 0x154]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], 0x80
stosb byte es:[edi], al
push ecx
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0x74]
push edx
push eax
push 0
push 0x101174f0
push ecx
call dword [0x100af074]
test eax, eax
jne 0x50ed0c
lea edx, [esp + 0x154]
mov ecx, ebp
push edx
call fcn.0050eac0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebx + 0x80]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x4c]
push ecx
call dword [0x100af028]
jmp 0x50ed41
mov edi, 0x101174dc
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebx + 0x80]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 5
mov esi, 0x10117040
lea edi, [esp + 0x258]
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x3c
lea edi, [esp + 0x26c]
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [esp + 0x155]
mov byte [esp + 0x154], al
push 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x25c]
push ecx
stosb byte es:[edi], al
call dword [0x100af504]
mov ebp, eax
test ebp, ebp
je 0x50eede
mov esi, 0x10117040
lea eax, [esp + 0x258]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x50edc6
test cl, cl
je 0x50edc2
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x50edc6
add eax, 2
add esi, 2
test cl, cl
jne 0x50eda2
xor eax, eax
jmp 0x50edcb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x50eeb7
lea eax, [esp + 0x258]
push 0x104
push eax
push ebp
call dword [0x100af580]
lea edi, [esp + 0x258]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov al, byte [esp + ecx + 0x257]
dec ecx
cmp al, 0x5f
jne 0x50edf8
lea edi, [esp + ecx + 0x259]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x154]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebx + 0x390]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x154]
mov esi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ecx, [esi + ecx + 2]
cmp ecx, 0x100
ja 0x50eeb7
lea edi, [esp + 0x154]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x100f23a0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov ebx, dword [esp + 0x690]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 2
push ebp
call dword [0x100af574]
lea edx, [esp + 0x258]
mov ebp, eax
push 0x104
push edx
push ebp
call dword [0x100af578]
test ebp, ebp
jne 0x50ed96
call dword [0x100af10c]
mov esi, eax
mov eax, 0x31b5d43b
mul esi
mov ecx, edx
mov eax, esi
xor edx, edx
mov esi, 0x5265c00
div esi
mov edi, 0x36ee80
shr ecx, 0x18
mov esi, edx
xor edx, edx
mov eax, esi
div edi
mov eax, 0x45e7b273
mul edx
shr edx, 0xe
mov eax, 0x95217cb1
push edx
mul esi
shr edx, 0x15
push edx
push ecx
lea eax, [ebx + 0x100]
push 0x101174cc
push eax
call dword [0x100af3e4]
lea ecx, [ebx + 0x200]
push ecx
call fcn.0050f370
call fcn.0050b550
mov edi, dword [0x100af41c]
mov esi, eax
push esi
call edi
push esi
mov dword [ebx + 0x300], eax
call fcn.00510394
call fcn.0050c0f0
mov esi, eax
push esi
call edi
push esi
mov dword [ebx + 0x304], eax
call fcn.00510394
mov ebp, dword [0x100af1a4]
add esp, 0x28
xor esi, esi
xor edi, edi
xor ebx, ebx
mov dl, bl
lea eax, [esp + 0x50]
add dl, 0x42
push eax
mov byte [esp + 0x54], dl
mov byte [esp + 0x55], 0x3a
mov byte [esp + 0x56], 0x5c
mov byte [esp + 0x57], 0
call ebp
cmp eax, 3
jne 0x50efe6
lea ecx, [esp + 0x60]
lea edx, [esp + 0x68]
push ecx
lea eax, [esp + 0x78]
push edx
lea ecx, [esp + 0x58]
push eax
push ecx
call dword [0x100af1a0]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov ecx, 0x1e
call fcn.005105e0
mov edx, dword [esp + 0x64]
add esi, eax
mov eax, dword [esp + 0x60]
mov ecx, 0x1e
call fcn.005105e0
add edi, eax
inc ebx
cmp ebx, 0x1a
jl 0x50ef80
mov ebp, dword [esp + 0x690]
push 0x80
lea edx, [ebp + 0x280]
mov dword [ebp + 0x308], esi
push edx
push 0x101174c4
mov dword [ebp + 0x30c], edi
call fcn.0050b4c0
add esp, 0xc
push 0xf003f
push 0
push 0
call dword [0x100af054]
mov esi, eax
test esi, esi
jne 0x50f037
push 0x101174ac
jmp 0x50f344
push 0xf01ff
push 0x101174a0
push esi
call dword [0x100af050]
mov edi, eax
test edi, edi
jne 0x50f058
push 0x1011748c
jmp 0x50f344
lea eax, [esp + 0x9c]
push eax
push edi
call dword [0x100af024]
test eax, eax
push edi
mov edi, dword [0x100af04c]
jne 0x50f081
call edi
push esi
call edi
push 0x10117470
jmp 0x50f344
call edi
push esi
call edi
cmp dword [esp + 0xa0], 4
jne 0x50f33f
push 0
push 0
lea ecx, [esp + 0x84]
push 0
push ecx
push 4
push 0x10117314
push 0x101172e0
push 0x80000002
call fcn.004fcaf0
lea edx, [esp + 0x9c]
push edx
call dword [0x100af428]
add esp, 0x24
test eax, eax
jne 0x50f338
mov esi, 0x10117468
lea eax, [esp + 0x7c]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x50f102
test cl, cl
je 0x50f0fe
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x50f102
add eax, 2
add esi, 2
test cl, cl
jne 0x50f0da
xor eax, eax
jmp 0x50f107
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x50f331
mov al, 0x65
push 0
mov byte [esp + 0x1f], al
mov byte [esp + 0x2a], al
mov byte [esp + 0x2e], al
mov byte [esp + 0x33], al
mov byte [esp + 0x37], al
mov byte [esp + 0x3b], al
mov byte [esp + 0x40], al
mov byte [esp + 0x47], al
mov byte [esp + 0x49], al
mov cl, 0x72
push 0
lea eax, [esp + 0x590]
push 0
mov dl, 0x53
mov byte [esp + 0x25], cl
mov byte [esp + 0x26], cl
mov byte [esp + 0x2e], cl
mov byte [esp + 0x37], cl
mov byte [esp + 0x40], cl
mov byte [esp + 0x44], cl
mov byte [esp + 0x4c], cl
mov byte [esp + 0x52], cl
push eax
push 2
lea ecx, [esp + 0x24]
mov byte [esp + 0x24], dl
mov byte [esp + 0x26], dl
mov byte [esp + 0x39], dl
mov byte [esp + 0x3d], dl
mov byte [esp + 0x4a], dl
push 0x1011745c
mov bl, 0x74
mov dl, 0x61
push ecx
push 0x80000002
mov byte [esp + 0x31], 0x59
mov byte [esp + 0x33], 0x54
mov byte [esp + 0x34], 0x45
mov byte [esp + 0x35], 0x4d
mov byte [esp + 0x36], 0x5c
mov byte [esp + 0x37], 0x43
mov byte [esp + 0x38], 0x75
mov byte [esp + 0x3c], 0x6e
mov byte [esp + 0x3d], bl
mov byte [esp + 0x3e], 0x43
mov byte [esp + 0x3f], 0x6f
mov byte [esp + 0x40], 0x6e
mov byte [esp + 0x41], bl
mov byte [esp + 0x43], 0x6f
mov byte [esp + 0x44], 0x6c
mov byte [esp + 0x47], bl
mov byte [esp + 0x48], 0x5c
mov byte [esp + 0x4c], 0x76
mov byte [esp + 0x4d], 0x69
mov byte [esp + 0x4e], 0x63
mov byte [esp + 0x50], 0x73
mov byte [esp + 0x51], 0x5c
mov byte [esp + 0x52], 0x54
mov byte [esp + 0x55], 0x6d
mov byte [esp + 0x59], 0x76
mov byte [esp + 0x5a], 0x69
mov byte [esp + 0x5b], 0x63
mov byte [esp + 0x5d], 0x5c
mov byte [esp + 0x5e], 0x50
mov byte [esp + 0x5f], dl
mov byte [esp + 0x61], dl
mov byte [esp + 0x62], 0x6d
mov byte [esp + 0x64], bl
mov byte [esp + 0x67], 0x73
mov byte [esp + 0x68], 0
call fcn.004fcaf0
lea edx, [esp + 0x5a8]
push 0x10117450
push edx
call dword [0x100af3f0]
add esp, 0x28
test eax, eax
je 0x50f32a
lea eax, [esp + 0x154]
push 0x104
push eax
mov dword [esp + 0x364], 0x128
xor edi, edi
call dword [0x100af0d4]
lea ecx, [esp + 0x154]
push 0x101171f4
push ecx
call dword [0x100af1a8]
push 1
push 0x100f3010
call fcn.005037b0
add esp, 8
push edi
push 2
call fcn.00510370
lea edx, [esp + 0x35c]
mov esi, eax
push edx
push esi
call fcn.0051037c
test eax, eax
je 0x50f309
mov ecx, dword [esp + 0x364]
lea eax, [esp + 0x154]
push eax
push ecx
call fcn.0050d2e0
add esp, 8
test eax, eax
jne 0x50f304
lea edx, [esp + 0x35c]
push edx
push esi
call fcn.00510376
test eax, eax
je 0x50f309
mov ecx, dword [esp + 0x364]
lea eax, [esp + 0x154]
push eax
push ecx
call fcn.0050d2e0
add esp, 8
test eax, eax
je 0x50f2d6
mov edi, 1
push esi
call dword [0x100af260]
push 0
push 0x100f3010
call fcn.005037b0
add esp, 8
test edi, edi
je 0x50f32a
push 0x10117440
jmp 0x50f344
push 0x10117430
jmp 0x50f344
push 0x1011741c
jmp 0x50f344
push 0x1011740c
jmp 0x50f344
push 0x101173fc
add ebp, 0x310
push ebp
call dword [0x100af590]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x67c
ret 4