Function at 0x4107e8
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
sub esp, 0x50
push 0xe4
mov eax, 0x4749c8
call fcn.00456a59
mov dword [ebp + 0x40], ecx
and dword [ebp + 0x50], 0
and dword [ebp - 4], 0
push 3
pop esi
push esi
push esi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x34], esp
xor edi, edi
push str.Ix1aGDI5WhgtOT8YIj5SACMCIA8uEw1dJRArVw
inc edi
mov byte [ebp - 4], 1
call fcn.004023b3
lea eax, [ebp + 0x3c]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 2
mov dword [ebp + 0x50], edi
call fcn.0040657e
push eax
lea ecx, [ebp - 0xe8]
call fcn.00409c71
lea eax, [ebp + 0x5c]
push eax
push dword [ebp + 0x74]
lea ecx, [ebp + 0x48]
mov dword [ebp - 4], esi
mov dword [ebp + 0x50], esi
call fcn.0040682b
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp + 0x5c]
call fcn.00408564
lea ecx, [ebp + 0x48]
push ecx
mov ecx, eax
call fcn.00404c45
test al, al
jne 0x4108ed
push 4
pop esi
push esi
push esi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x34], esp
push str.IB1aBSkTIz4gEAEfJT4nDCYAASAtOS9fKwABHy8TJwElAiQ5IgM8CC4AI1c
call fcn.004023b3
lea eax, [ebp + 0x38]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov dword [ebp - 4], esi
mov dword [ebp + 0x50], 7
call fcn.0040657e
push eax
lea ecx, [ebp - 0x90]
call fcn.00409c71
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp - 4], 5
mov dword [ebp + 0x50], 0xf
call fcn.0040f5fc
mov ecx, dword [eax]
call fcn.0042a9d8
test al, al
je 0x4108ed
mov bl, 1
jmp 0x4108ef
xor bl, bl
test byte [ebp + 0x50], 8
je 0x410907
and dword [ebp + 0x50], 0xfffffff7
push 0
push edi
lea ecx, [ebp - 0x90]
call fcn.00406e53
test byte [ebp + 0x50], 4
je 0x41091c
mov ecx, dword [ebp + 0x38]
and dword [ebp + 0x50], 0xfffffffb
add ecx, 0xfffffff0
call fcn.00401264
test byte [ebp + 0x50], 2
je 0x410934
and dword [ebp + 0x50], 0xfffffffd
push 0
push edi
lea ecx, [ebp - 0xe8]
call fcn.00406e53
test byte [ebp + 0x50], 1
mov dword [ebp - 4], edi
je 0x41094c
mov ecx, dword [ebp + 0x3c]
and dword [ebp + 0x50], 0xfffffffe
add ecx, 0xfffffff0
call fcn.00401264
test bl, bl
je 0x4111f8
push 3
push 3
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x34], esp
push str.JQIjDycTWhgtOT8YIj5SACMCIA8uEw1dJRArVw
call fcn.004023b3
lea eax, [ebp - 0x3c]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.0040657e
push eax
lea ecx, [ebp - 0xe8]
call fcn.00409c71
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 7
call fcn.0040f5fc
lea ecx, [ebp - 0x8c]
push ecx
mov ecx, dword [eax]
call fcn.0042b18e
push 0
push edi
lea ecx, [ebp - 0xe8]
call fcn.00406e53
mov ecx, dword [ebp - 0x3c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xa
call fcn.00401264
and dword [ebp + 0x3c], 0
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x8c]
sar eax, 2
cmp dword [ebp + 0x3c], eax
jae 0x4111e7
push dword [ebp + 0x3c]
call fcn.00404ba4
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [eax]
call fcn.0042b313
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.IjsdLS4dHQ8
mov byte [ebp - 4], 0xb
call fcn.004023b3
lea eax, [ebp - 0x30]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.0040657e
push eax
sub esp, 0x20
lea eax, [ebp - 0x6c]
mov dword [ebp + 0x4c], esp
mov ecx, esp
push eax
call fcn.0040dcd1
mov ecx, dword [ebp + 0x40]
lea eax, [ebp - 0x28]
push eax
call fcn.0040f69e
mov edi, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x3c]
imul edi, edi, 0xb58
mov eax, dword [eax]
imul ecx, ecx, 0x34
push eax
lea esi, [ecx + edi]
call fcn.00457ea7
pop ecx
mov ecx, dword [ebp + 0x40]
push eax
call fcn.00404764
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
mov dword [esi + 0x4a74a4], eax
call fcn.00401264
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401264
push 5
pop ebx
push ebx
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.IxNeMC45P18_AF4eOiwFMyA8GQAmKStfLTwjBC48DjI
call fcn.004023b3
lea eax, [ebp + 0x24]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.0040657e
push eax
sub esp, 0x20
lea eax, [ebp - 0x6c]
mov dword [ebp + 0x4c], esp
mov ecx, esp
push eax
call fcn.0040dcd1
mov ecx, dword [ebp + 0x40]
lea eax, [ebp - 0x38]
push eax
call fcn.0040f69e
push dword [eax]
call fcn.00457ea7
add eax, dword [0x4a3388]
pop ecx
mov ecx, dword [ebp + 0x40]
push eax
call fcn.00404764
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff0
mov dword [esi + 0x4a74a8], eax
call fcn.00401264
mov ecx, dword [ebp + 0x24]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401264
push ebx
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.IxInJCspGRotOV5cPVtePiYAEg8nEycrLw1SBisTUiU6OCsAPwMjUi4AI1c
call fcn.004023b3
lea eax, [ebp + 0x1c]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.0040657e
push eax
sub esp, 0x20
lea eax, [ebp - 0x6c]
mov dword [ebp + 0x4c], esp
mov ecx, esp
push eax
call fcn.0040dcd1
mov ebx, dword [ebp + 0x40]
lea eax, [ebp - 0x2c]
push eax
mov ecx, ebx
call fcn.0040f69e
push dword [eax]
call fcn.00457ea7
pop ecx
push eax
mov ecx, ebx
call fcn.00404764
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
mov dword [esi + 0x4a74ac], eax
call fcn.00401264
mov ecx, dword [ebp + 0x1c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401264
push 4
push 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.IDgrDicpIx8jW1oALys_MyMAHSwtAyckPRAjUiI8DjI
call fcn.004023b3
lea eax, [ebp + 0x14]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.0040657e
push eax
sub esp, 0x20
lea eax, [ebp - 0x6c]
mov dword [ebp + 0x4c], esp
mov ecx, esp
push eax
call fcn.0040dcd1
lea eax, [ebp - 0x44]
push eax
mov ecx, ebx
call fcn.0040f69e
push dword [eax]
call fcn.00457ea7
pop ecx
push eax
mov ecx, ebx
call fcn.00404764
mov ecx, dword [ebp - 0x44]
add ecx, 0xfffffff0
mov dword [esi + 0x4a74b0], eax
call fcn.00401264
mov ecx, dword [ebp + 0x14]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401264
push 3
pop ebx
push ebx
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.JgJaBDoDGQ4lE14DLjkJByErIyguEwE5MgAFVw
call fcn.004023b3
lea eax, [ebp + 0xc]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x10
call fcn.0040657e
push eax
sub esp, 0x20
lea eax, [ebp - 0x6c]
mov dword [ebp + 0x4c], esp
mov ecx, esp
push eax
call fcn.0040dcd1
mov ecx, dword [ebp + 0x40]
lea eax, [ebp - 0x34]
push eax
call fcn.0040f69e
push dword [eax]
call fcn.00457ea7
pop ecx
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffff0
mov dword [esi + 0x4a74b4], eax
call fcn.00401264
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401264
push ebx
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.JS4BGCspIykuOx0fLwJaByErIDklDVdX
call fcn.004023b3
lea eax, [ebp + 4]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x11
call fcn.0040657e
push eax
sub esp, 0x20
lea eax, [ebp - 0x6c]
mov dword [ebp + 0x4c], esp
mov ecx, esp
push eax
call fcn.0040dcd1
mov ecx, dword [ebp + 0x40]
lea eax, [ebp - 0x4c]
push eax
call fcn.0040f69e
lea ecx, [esi + 0x4a74b8]
push eax
mov byte [ebp - 4], 0x12
call fcn.0040398a
mov ecx, dword [ebp - 0x4c]
add ecx, 0xfffffff0
call fcn.00401264
mov ecx, dword [ebp + 4]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401264
push ebx
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.IAIgOS8pXhgtOVoeJVsjICE4WhAuKV4OPFsJVw
call fcn.004023b3
lea eax, [ebp - 0x14]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.0040657e
push eax
sub esp, 0x20
lea eax, [ebp - 0x6c]
mov dword [ebp + 0x4c], esp
mov ecx, esp
push eax
call fcn.0040dcd1
mov ecx, dword [ebp + 0x40]
lea eax, [ebp - 0x40]
push eax
call fcn.0040f69e
lea ecx, [esi + 0x4a74bc]
push eax
mov byte [ebp - 4], 0x14
call fcn.0040398a
mov ecx, dword [ebp - 0x40]
add ecx, 0xfffffff0
call fcn.00401264
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401264
push 4
push 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.JQAeCycpIy46Eg0YJThaLiM8GQAvK1dX
call fcn.004023b3
lea eax, [ebp + 0x30]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x15
call fcn.0040657e
push eax
lea ecx, [ebp - 0xcc]
call fcn.00409c71
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x16
call fcn.0040682b
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00408564
lea ecx, [ebp - 0x74]
push ecx
mov ecx, eax
call fcn.00404c45
mov bl, al
neg bl
push 0
sbb bl, bl
push 1
lea ecx, [ebp - 0xcc]
inc bl
call fcn.00406e53
mov ecx, dword [ebp + 0x30]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401264
test bl, bl
je 0x4110ff
mov eax, dword [ebp + 0x3c]
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.IA0NICg4HTotK1dX
mov dword [edi + 0x4a77c8], eax
call fcn.004023b3
lea eax, [ebp - 0x1c]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x17
call fcn.0040657e
push eax
lea ecx, [ebp - 0xcc]
call fcn.00409c71
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x18
call fcn.0040f5fc
lea ecx, [ebp - 0xb0]
push ecx
mov ecx, dword [eax]
call fcn.0042b313
push 0
push 1
lea ecx, [ebp - 0xcc]
call fcn.00406e53
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x1b
call fcn.00401264
push 4
push 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.IAANGC0pCT4_AzsYJThaLCYAXzkvK1dX
call fcn.004023b3
lea eax, [ebp - 0x24]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x1c
call fcn.0040657e
push eax
sub esp, 0x20
lea eax, [ebp - 0xb0]
mov dword [ebp + 0x4c], esp
mov ecx, esp
push eax
call fcn.0040dcd1
mov ebx, dword [ebp + 0x40]
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
call fcn.0040f69e
lea ecx, [esi + 0x4a74d0]
push eax
mov byte [ebp - 4], 0x1d
call fcn.0040398a
mov ecx, dword [ebp - 0x48]
add ecx, 0xfffffff0
call fcn.00401264
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x1b
call fcn.00401264
push 3
pop edi
push edi
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.JRAdBC8pIyQ6HRlX
call fcn.004023b3
lea eax, [ebp + 0x28]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x1e
call fcn.0040657e
push eax
sub esp, 0x20
lea eax, [ebp - 0xb0]
mov dword [ebp + 0x4c], esp
mov ecx, esp
push eax
call fcn.0040dcd1
lea eax, [ebp + 0x2c]
push eax
mov ecx, ebx
call fcn.0040f69e
push dword [eax]
call fcn.00457ea7
add eax, dword [0x4a3388]
pop ecx
push eax
mov ecx, ebx
call fcn.00404764
mov ecx, dword [ebp + 0x2c]
add ecx, 0xfffffff0
mov dword [esi + 0x4a74c4], eax
call fcn.00401264
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x1b
call fcn.00401264
push 4
push 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.IB0jBCEuBS4yAg0ELys_DCM5EgwnDVdX
call fcn.004023b3
lea eax, [ebp + 0x18]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x1f
call fcn.0040657e
push eax
sub esp, 0x20
lea eax, [ebp - 0xb0]
mov dword [ebp + 0x4c], esp
mov ecx, esp
push eax
call fcn.0040dcd1
lea eax, [ebp + 0x20]
push eax
mov ecx, ebx
call fcn.0040f69e
push dword [eax]
call fcn.00457ea7
pop ecx
push eax
mov ecx, ebx
call fcn.00404764
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff0
mov dword [esi + 0x4a74c0], eax
call fcn.00401264
mov ecx, dword [ebp + 0x18]
mov byte [ebp - 4], 0x1b
add ecx, 0xfffffff0
call fcn.00401264
push edi
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.JgBeLToDARg6HVIDLj5SAw
call fcn.004023b3
lea eax, [ebp + 8]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x20
call fcn.0040657e
push eax
sub esp, 0x20
lea eax, [ebp - 0xb0]
mov dword [ebp + 0x4c], esp
mov ecx, esp
push eax
call fcn.0040dcd1
lea eax, [ebp + 0x10]
push eax
mov ecx, ebx
call fcn.0040f69e
push dword [eax]
call fcn.00457ea7
add eax, dword [0x4a3388]
pop ecx
push eax
mov ecx, ebx
call fcn.00404764
mov ecx, dword [ebp + 0x10]
add ecx, 0xfffffff0
mov dword [esi + 0x4a74cc], eax
call fcn.00401264
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x1b
call fcn.00401264
push edi
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.ITleBCADWhggEzsYKwZfMg
call fcn.004023b3
lea eax, [ebp - 0x18]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x21
call fcn.0040657e
push eax
sub esp, 0x20
lea eax, [ebp - 0xb0]
mov dword [ebp + 0x4c], esp
mov ecx, esp
push eax
call fcn.0040dcd1
lea eax, [ebp]
push eax
mov ecx, ebx
call fcn.0040f69e
push dword [eax]
call fcn.00457ea7
pop ecx
push eax
mov ecx, ebx
call fcn.00404764
mov ecx, dword [ebp]
add ecx, 0xfffffff0
mov dword [esi + 0x4a74c8], eax
call fcn.00401264
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00401264
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xb
call fcn.0040d4d4
jmp 0x411105
mov ebx, dword [ebp + 0x40]
push 3
pop edi
push 4
push 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.Iz4NASU5KzsuPFoYJTsvDCMAGRwoOSsfLT4rByU7WgE6LBkgPB1XVw
call fcn.004023b3
lea eax, [ebp - 0x20]
push eax
call fcn.00408aac
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x22
call fcn.0040657e
push eax
sub esp, 0x20
lea eax, [ebp - 0x6c]
mov dword [ebp + 0x4c], esp
mov ecx, esp
push eax
call fcn.0040dcd1
lea eax, [ebp + 0x38]
push eax
mov ecx, ebx
call fcn.0040f69e
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x24
call fcn.00401264
mov eax, dword [ebp + 0x38]
xor bl, bl
cmp dword [eax - 0xc], 0
jle 0x4111a1
push edi
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x4c], esp
push str.IzleKC8pIykuOx0fIjwOMg
call fcn.004023b3
lea eax, [ebp + 0x34]
push eax
call fcn.00403d07
or dword [ebp + 0x50], 0x10
add esp, 0x28
push dword [eax]
push dword [ebp + 0x38]
call fcn.004587f2
pop ecx
pop ecx
mov byte [ebp + 0x47], 1
test eax, eax
je 0x4111a5
mov byte [ebp + 0x47], 0
test byte [ebp + 0x50], 0x10
je 0x4111ba
mov ecx, dword [ebp + 0x34]
and dword [ebp + 0x50], 0xffffffef
add ecx, 0xfffffff0
call fcn.00401264
cmp byte [ebp + 0x47], 0
je 0x4111c2
mov bl, 1
mov ecx, dword [ebp + 0x38]
add ecx, 0xfffffff0
mov byte [esi + 0x4a74d4], bl
call fcn.00401264
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0xa
call fcn.0040d4d4
inc dword [ebp + 0x3c]
jmp 0x4109cf
call fcn.00406e9e
push dword [ebp - 0x8c]
call fcn.0043242e
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x5c]
call fcn.0040d4d4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add ebp, 0x54
leave
ret 0x24