Function at 0x40f754
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
sub esp, 0x50
push 0x94
mov eax, 0x472649
call fcn.00454819
mov dword [ebp + 0x40], ecx
and dword [ebp + 0x50], 0
and dword [ebp - 4], 0
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x2c], esp
xor esi, esi
push str.OAsjIDUaESA1IDMWMRoRMA
inc esi
mov byte [ebp - 4], 1
call fcn.0040238c
lea eax, [ebp + 0x34]
push eax
call fcn.00408525
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 2
mov dword [ebp + 0x50], esi
call fcn.0040644a
push eax
lea ecx, [ebp - 0xa0]
call fcn.004096f3
push 3
pop edi
lea eax, [ebp + 0x5c]
push eax
push dword [ebp + 0x74]
lea ecx, [ebp + 0x44]
mov dword [ebp - 4], edi
mov dword [ebp + 0x50], edi
call fcn.004066f7
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp + 0x5c]
call fcn.00407fdd
lea ecx, [ebp + 0x44]
push ecx
mov ecx, eax
call fcn.00428de4
test al, al
jne 0x40f85b
push edi
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x2c], esp
push str.PRgrGTk2ERU6IR1BOzAZGD0bPxY5GD8YJkJKTw
call fcn.0040238c
lea eax, [ebp + 0x38]
push eax
call fcn.00408525
add esp, 0x28
push 4
pop edi
mov ecx, eax
mov dword [ebp - 4], edi
mov dword [ebp + 0x50], 7
call fcn.0040644a
push eax
lea ecx, [ebp - 0x84]
call fcn.004096f3
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp - 4], 5
mov dword [ebp + 0x50], 0xf
call fcn.0040ef83
mov ecx, dword [eax]
call fcn.00428d60
test al, al
je 0x40f85e
mov bl, 1
jmp 0x40f860
push 4
pop edi
xor bl, bl
test byte [ebp + 0x50], 8
je 0x40f878
and dword [ebp + 0x50], 0xfffffff7
push 0
push esi
lea ecx, [ebp - 0x84]
call fcn.00406b33
test byte [ebp + 0x50], 4
je 0x40f88d
mov ecx, dword [ebp + 0x38]
and dword [ebp + 0x50], 0xfffffffb
add ecx, 0xfffffff0
call fcn.00401268
test byte [ebp + 0x50], 2
je 0x40f8a5
and dword [ebp + 0x50], 0xfffffffd
push 0
push esi
lea ecx, [ebp - 0xa0]
call fcn.00406b33
test byte [ebp + 0x50], 1
mov dword [ebp - 4], esi
je 0x40f8bd
mov ecx, dword [ebp + 0x34]
and dword [ebp + 0x50], 0xfffffffe
add ecx, 0xfffffff0
call fcn.00401268
test bl, bl
je 0x410085
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x2c], esp
push str.ODE_IDUaESA1IDMWMRoRMA
call fcn.0040238c
lea eax, [ebp + 4]
push eax
call fcn.00408525
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.0040644a
push eax
lea ecx, [ebp - 0xa0]
call fcn.004096f3
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 7
call fcn.0040ef83
lea ecx, [ebp - 0x80]
push ecx
mov ecx, dword [eax]
call fcn.004295c6
push 0
push esi
lea ecx, [ebp - 0xa0]
call fcn.00406b33
mov ecx, dword [ebp + 4]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xa
call fcn.00401268
and dword [ebp + 0x3c], 0
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x80]
sar eax, 2
cmp dword [ebp + 0x3c], eax
jae 0x410077
push dword [ebp + 0x3c]
call fcn.00404b2b
lea ecx, [ebp - 0x60]
push ecx
mov ecx, dword [eax]
call fcn.0042974b
push edi
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.PQg_JDAhOys_Cj8VNQpDMSIFATU7FU9P
mov byte [ebp - 4], 0xb
call fcn.0040238c
lea eax, [ebp - 0x3c]
push eax
call fcn.00408525
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.0040644a
push eax
sub esp, 0x20
lea eax, [ebp - 0x60]
mov dword [ebp + 0x48], esp
mov ecx, esp
push eax
call fcn.0040d762
mov ecx, dword [ebp + 0x40]
lea eax, [ebp - 0x40]
push eax
call fcn.0040f025
mov ecx, dword [ebp + 0x7c]
mov edx, dword [ebp + 0x3c]
imul ecx, ecx, 0xb30
mov eax, dword [eax]
imul edx, edx, 0x2c
push eax
lea esi, [ecx + edx]
call fcn.00455c67
pop ecx
mov ecx, dword [ebp + 0x40]
push eax
call fcn.0042adf0
mov ecx, dword [ebp - 0x40]
add ecx, 0xfffffff0
mov dword [esi + 0x4a52ec], eax
call fcn.00401268
mov ecx, dword [ebp - 0x3c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401268
push 3
pop ebx
push ebx
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.IkI7MT82MxMjGDdP
call fcn.0040238c
lea eax, [ebp - 0x24]
push eax
call fcn.00408525
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.0040644a
push eax
sub esp, 0x20
lea eax, [ebp - 0x60]
mov dword [ebp + 0x48], esp
mov ecx, esp
push eax
call fcn.0040d762
mov ecx, dword [ebp + 0x40]
lea eax, [ebp + 0x1c]
push eax
call fcn.0040f025
push dword [eax]
call fcn.00455c67
add eax, dword [0x4a1388]
pop ecx
mov ecx, dword [ebp + 0x40]
push eax
call fcn.0042adf0
mov ecx, dword [ebp + 0x1c]
add ecx, 0xfffffff0
mov dword [esi + 0x4a52f0], eax
call fcn.00401268
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401268
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.MQs7NDUKKzU1FU9P
call fcn.0040238c
lea eax, [ebp - 0x2c]
push eax
call fcn.00408525
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.0040644a
push eax
sub esp, 0x20
lea eax, [ebp - 0x60]
mov dword [ebp + 0x48], esp
mov ecx, esp
push eax
call fcn.0040d762
mov ecx, dword [ebp + 0x40]
lea eax, [ebp + 0x14]
push eax
call fcn.0040f025
push dword [eax]
call fcn.00455c67
pop ecx
mov ecx, dword [ebp + 0x40]
push eax
call fcn.0042adf0
mov ecx, dword [ebp + 0x14]
add ecx, 0xfffffff0
mov dword [esi + 0x4a52f4], eax
call fcn.00401268
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401268
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.IhpKEzQKASQ1FStP
call fcn.0040238c
lea eax, [ebp - 0x34]
push eax
call fcn.00408525
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.0040644a
push eax
sub esp, 0x20
lea eax, [ebp - 0x60]
mov dword [ebp + 0x48], esp
mov ecx, esp
push eax
call fcn.0040d762
mov ecx, dword [ebp + 0x40]
lea eax, [ebp + 0xc]
push eax
call fcn.0040f025
push dword [eax]
call fcn.00455c67
pop ecx
mov ecx, dword [ebp + 0x40]
push eax
call fcn.0042adf0
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
mov dword [esi + 0x4a52f8], eax
call fcn.00401268
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401268
push ebx
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.PTMVADgmJzkwIDMFNRU3Hz0aJ0E8JhE0OQsdTw
call fcn.0040238c
lea eax, [ebp - 0x30]
push eax
call fcn.00408525
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x10
call fcn.0040644a
push eax
sub esp, 0x20
lea eax, [ebp - 0x60]
mov dword [ebp + 0x48], esp
mov ecx, esp
push eax
call fcn.0040d762
mov ebx, dword [ebp + 0x40]
lea eax, [ebp + 0x24]
push eax
mov ecx, ebx
call fcn.0040f025
push dword [eax]
call fcn.00455c67
pop ecx
mov ecx, dword [ebp + 0x24]
add ecx, 0xfffffff0
mov dword [esi + 0x4a52fc], eax
call fcn.00401268
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401268
push edi
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.IiEzMComAUAwIxVHMTZKND8gHUEjJgU0MxgnSzUxP0I4GTg5JgVPTw
call fcn.0040238c
lea eax, [ebp - 0x38]
push eax
call fcn.00408525
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x11
call fcn.0040644a
push eax
sub esp, 0x20
lea eax, [ebp - 0x60]
mov dword [ebp + 0x48], esp
mov ecx, esp
push eax
call fcn.0040d762
lea eax, [ebp - 0x14]
push eax
mov ecx, ebx
call fcn.0040f025
mov byte [ebp - 4], 0x12
lea ecx, [esi + 0x4a5300]
push eax
call fcn.00403923
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401268
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401268
push edi
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.PQg3XSMmFRA6ICdFMQsGNzwxKyAzCEpAP0NCQjE2P0c8CxY5JgVPTw
call fcn.0040238c
lea eax, [ebp - 0x28]
push eax
call fcn.00408525
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.0040644a
push eax
sub esp, 0x20
lea eax, [ebp - 0x60]
mov dword [ebp + 0x48], esp
mov ecx, esp
push eax
call fcn.0040d762
lea eax, [ebp - 0x1c]
push eax
mov ecx, ebx
call fcn.0040f025
lea ecx, [esi + 0x4a5304]
push eax
mov byte [ebp - 4], 0x14
call fcn.00403923
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401268
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401268
push edi
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.OxgrICAmNys3JhlHMRsBND0IPxw5GEIQP0NCRjgZKyQ_CzNBIxhKQT0xO08
call fcn.0040238c
lea eax, [ebp + 0x18]
push eax
call fcn.00408525
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x15
call fcn.0040644a
push eax
sub esp, 0x20
lea eax, [ebp - 0x60]
mov dword [ebp + 0x48], esp
mov ecx, esp
push eax
call fcn.0040d762
lea eax, [ebp + 0x20]
push eax
mov ecx, ebx
call fcn.0040f025
lea ecx, [esi + 0x4a530c]
push eax
mov byte [ebp - 4], 0x16
call fcn.00403923
mov ecx, dword [ebp + 0x20]
add ecx, 0xfffffff0
call fcn.00401268
mov ecx, dword [ebp + 0x18]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.00401268
push 2
pop ebx
push ebx
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.OxUzMzQFPzo1BTMqNBVPTw
call fcn.0040238c
lea eax, [ebp + 0x10]
push eax
call fcn.00408525
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x17
call fcn.0040644a
push eax
sub esp, 0x20
lea eax, [ebp - 0x60]
mov dword [ebp + 0x48], esp
mov ecx, esp
push eax
call fcn.0040d762
mov ecx, dword [ebp + 0x40]
lea eax, [ebp + 0x38]
push eax
call fcn.0040f025
mov ecx, dword [ebp + 0x10]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x19
call fcn.00401268
mov eax, dword [ebp + 0x38]
cmp dword [eax - 0xc], 0
mov byte [ebp + 0x4f], 0
jle 0x40fdda
push ebx
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.OTERNTMzESo
call fcn.0040238c
lea eax, [ebp + 8]
push eax
call fcn.00403ca0
or dword [ebp + 0x50], 0x10
add esp, 0x28
push dword [eax]
push dword [ebp + 0x38]
call fcn.004565b2
pop ecx
pop ecx
test eax, eax
jne 0x40fdda
mov bl, 1
jmp 0x40fddc
xor bl, bl
test byte [ebp + 0x50], 0x10
je 0x40fdf1
mov ecx, dword [ebp + 8]
and dword [ebp + 0x50], 0xffffffef
add ecx, 0xfffffff0
call fcn.00401268
mov al, 1
test bl, bl
jne 0x40fdfa
mov al, byte [ebp + 0x4f]
push 5
push 5
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.IiMdJDM2FQo4CkpCOzEWOT8jAjE8MTs7P0I3RTwZHTQ9NjdFOggzHCELO08
mov byte [esi + 0x4a5308], al
call fcn.0040238c
lea eax, [ebp]
push eax
call fcn.00408525
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x1a
call fcn.0040644a
push eax
sub esp, 0x20
lea eax, [ebp - 0x60]
mov dword [ebp + 0x48], esp
mov ecx, esp
push eax
call fcn.0040d762
mov ebx, dword [ebp + 0x40]
lea eax, [ebp + 0x30]
push eax
mov ecx, ebx
call fcn.0040f025
mov ecx, dword [ebp]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x1c
call fcn.00401268
lea eax, [ebp + 0x30]
lea ecx, [esi + 0x4a5310]
push eax
call fcn.00403923
mov eax, dword [ebp + 0x30]
cmp dword [eax - 0xc], 0
jle 0x40fea8
push ecx
lea eax, [ebp + 0x30]
mov dword [ebp + 0x48], esp
mov ecx, esp
push eax
call fcn.0040366b
lea ecx, [ebx + 0x85c]
call fcn.00408fa2
push ecx
lea eax, [ebp + 0x30]
mov dword [ebp + 0x48], esp
mov ecx, esp
push eax
call fcn.0040366b
lea ecx, [ebx + 0x8c4]
call fcn.00408fa2
push 5
push 5
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.Oxs3ADU2GUA3IEpKMQokFj8mMDY8Czs7OQszRjUzJzs9GxFBIAgFKDkLI0U0IEIVOzYrGDoxNz49QkpP
call fcn.0040238c
lea eax, [ebp - 0x18]
push eax
call fcn.00408525
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x1d
call fcn.0040644a
push eax
sub esp, 0x20
lea eax, [ebp - 0x60]
mov dword [ebp + 0x48], esp
mov ecx, esp
push eax
call fcn.0040d762
lea eax, [ebp + 0x34]
push eax
mov ecx, ebx
call fcn.0040f025
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x1f
call fcn.00401268
mov eax, dword [ebp + 0x34]
cmp dword [eax - 0xc], 0
mov byte [ebp + 0x4f], 0
jle 0x40ff46
push edi
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.IjEzEz0YBUA4ChVHMTZKND8gHUI7FU9P
call fcn.0040238c
lea eax, [ebp - 0x20]
push eax
call fcn.00403ca0
or dword [ebp + 0x50], 0x20
add esp, 0x28
push dword [eax]
push dword [ebp + 0x34]
call fcn.004565b2
pop ecx
pop ecx
test eax, eax
jne 0x40ff46
mov bl, 1
jmp 0x40ff48
xor bl, bl
test byte [ebp + 0x50], 0x20
je 0x40ff5d
mov ecx, dword [ebp - 0x20]
and dword [ebp + 0x50], 0xffffffdf
add ecx, 0xfffffff0
call fcn.00401268
mov al, 1
test bl, bl
jne 0x40ff66
mov al, byte [ebp + 0x4f]
push 2
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.PAo3MDAgATU3IB0GMxUzKjMaERE0G0IwMxo_IDQFT08
mov byte [esi + 0x4a5314], al
call fcn.0040238c
lea eax, [ebp - 0x64]
push eax
call fcn.00408525
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x20
call fcn.0040644a
push eax
sub esp, 0x20
lea eax, [ebp - 0x60]
mov dword [ebp + 0x48], esp
mov ecx, esp
push eax
call fcn.0040d762
mov ecx, dword [ebp + 0x40]
lea eax, [ebp + 0x28]
push eax
call fcn.0040f025
mov ecx, dword [ebp - 0x64]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x22
call fcn.00401268
mov eax, dword [ebp + 0x28]
mov eax, dword [eax - 0xc]
xor bl, bl
test eax, eax
je 0x410010
jle 0x41000a
push 5
push 5
sub esp, 0x1c
mov ecx, esp
mov dword [ebp + 0x48], esp
push str.IiMnFjg2Sh8wIEoYNCAkMD0wASA9Czs0Oic3CDAnSyI
call fcn.0040238c
lea eax, [ebp + 0x2c]
push eax
call fcn.00403ca0
or dword [ebp + 0x50], 0x40
add esp, 0x28
push dword [eax]
push dword [ebp + 0x28]
call fcn.004565b2
pop ecx
pop ecx
test eax, eax
je 0x410010
mov byte [ebp + 0x4f], 0
jmp 0x410014
mov byte [ebp + 0x4f], 1
test byte [ebp + 0x50], 0x40
je 0x410029
mov ecx, dword [ebp + 0x2c]
and dword [ebp + 0x50], 0xffffffbf
add ecx, 0xfffffff0
call fcn.00401268
cmp byte [ebp + 0x4f], 0
je 0x410031
mov bl, 1
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
mov byte [esi + 0x4a5315], bl
call fcn.00401268
mov ecx, dword [ebp + 0x34]
add ecx, 0xfffffff0
call fcn.00401268
mov ecx, dword [ebp + 0x30]
add ecx, 0xfffffff0
call fcn.00401268
mov ecx, dword [ebp + 0x38]
add ecx, 0xfffffff0
call fcn.00401268
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xa
call fcn.0040cf6f
inc dword [ebp + 0x3c]
jmp 0x40f93d
call fcn.0042ad1d
push dword [ebp - 0x80]
call fcn.004301f8
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x5c]
call fcn.0040cf6f
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add ebp, 0x54
leave
ret 0x24