Function at 0x40bd47
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x180
mov eax, 0x507c1c
call fcn.004c84d6
mov dword [ebp - 0x150], ecx
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x14c]
xor ebx, ebx
push 0x74
push ebx
push eax
mov dword [ebp - 4], ebx
call fcn.004df090
add esp, 0xc
lea ecx, [ebp - 0x14c]
call fcn.004be780
push 6
pop ecx
xor eax, eax
mov byte [ebp - 4], 1
lea edi, [ebp - 0xbc]
rep stosd dword es:[edi], eax
push ebx
lea ecx, [ebp - 0xbc]
call fcn.004b92f0
mov byte [ebp - 4], 2
cmp dword [esi + 0x10], ebx
je 0x40c598
push ebx
lea eax, [ebp - 0xbc]
push eax
push esi
lea ecx, [ebp - 0x14c]
call fcn.004c2ba0
test al, al
je 0x40c598
lea eax, [ebp - 0x70]
mov dword [ebp - 0x70], 0x5f796170
push eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x6c], 0x74617473
mov word [ebp - 0x68], 0x7375
mov byte [ebp - 0x66], bl
call fcn.004b9dd0
mov ecx, eax
call fcn.004bcc60
test al, al
jne 0x40be1c
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xbc]
call fcn.004b9dd0
mov ecx, eax
call fcn.004bb530
mov esi, dword [ebp - 0x150]
mov dword [esi + 0x8e8], eax
jmp 0x40be22
mov esi, dword [ebp - 0x150]
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0x646f7270
push eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x48], 0x746375
call fcn.004b9dd0
mov ecx, eax
call fcn.004bcc60
test al, al
jne 0x40bea0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0xbc]
call fcn.004b9dd0
lea ecx, [ebp - 0xd4]
push ecx
mov ecx, eax
call fcn.004bb8b0
push ecx
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa0]
call fcn.00401c50
pop ecx
push eax
lea ecx, [esi + 0x970]
call fcn.004046b9
lea ecx, [ebp - 0xa0]
call fcn.004020a3
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 2
call fcn.0040216d
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x69746361
push eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x54], 0x79746976
mov byte [ebp - 0x50], bl
call fcn.004b9dd0
mov ecx, eax
call fcn.004bcc60
test al, al
jne 0x40bf21
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xbc]
call fcn.004b9dd0
lea ecx, [ebp - 0xd4]
push ecx
mov ecx, eax
call fcn.004bb8b0
push ecx
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xa0]
call fcn.00401c50
pop ecx
push eax
lea ecx, [esi + 0x958]
call fcn.004046b9
lea ecx, [ebp - 0xa0]
call fcn.004020a3
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 2
call fcn.0040216d
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0x64726f77
push eax
lea ecx, [ebp - 0xbc]
mov byte [ebp - 0x38], bl
call fcn.004b9dd0
mov ecx, eax
call fcn.004bcc60
test al, al
jne 0x40bf5c
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0xbc]
call fcn.004b9dd0
push eax
mov ecx, esi
call fcn.0040c9b0
lea eax, [ebp - 0x44]
mov dword [ebp - 0x44], 0x656d6167
push eax
lea ecx, [ebp - 0xbc]
mov byte [ebp - 0x40], bl
call fcn.004b9dd0
mov ecx, eax
call fcn.004bcc60
test al, al
jne 0x40bf97
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0xbc]
call fcn.004b9dd0
push eax
mov ecx, esi
call fcn.0040c616
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x756f6d61
push eax
lea ecx, [ebp - 0xbc]
mov word [ebp - 0x28], 0x746e
mov byte [ebp - 0x26], bl
call fcn.004b9dd0
mov ecx, eax
call fcn.004bcc60
test al, al
jne 0x40bfe7
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xbc]
call fcn.004b9dd0
mov ecx, eax
call fcn.004bb150
fstp qword [ebp - 0x24]
movsd xmm0, qword [ebp - 0x24]
movsd qword [esi + 0x8d0], xmm0
lea ecx, [ebp - 0x18c]
call fcn.0040937d
push 0x52dce8
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.00402146
push eax
lea ecx, [ebp - 0xd4]
call fcn.00401e64
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 7
call fcn.004020a3
cmp dword [esi + 0x8e8], 1
je 0x40c58a
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x70696c61
push eax
lea ecx, [ebp - 0xbc]
mov word [ebp - 0x30], 0x7961
mov byte [ebp - 0x2e], bl
call fcn.004b9dd0
mov ecx, eax
call fcn.004bcc60
test al, al
jne 0x40c16f
lea eax, [ebp - 0xd4]
mov edx, 0x52dcec
push eax
lea ecx, [ebp - 0xa0]
call fcn.0040e457
pop ecx
mov byte [ebp - 4], 8
call fcn.0040a009
add eax, 4
add esi, 0x928
push eax
mov ecx, esi
call fcn.00404690
cmp dword [ebp - 0x8c], 8
lea edx, [ebp - 0xa0]
push ecx
cmovae edx, dword [ebp - 0xa0]
lea ecx, [ebp - 0x168]
call fcn.00401961
pop ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 9
call fcn.004046f0
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 8
call fcn.004020a3
push 0x52dcf4
mov ecx, esi
call fcn.00402146
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0xbc]
call fcn.004b9dd0
lea ecx, [ebp - 0x88]
push ecx
mov ecx, eax
call fcn.004bb8b0
mov byte [ebp - 4], 0xa
push dword [ebp - 0x78]
push ecx
push ecx
lea ecx, [ebp - 0x88]
call fcn.0040dbea
inc eax
lea ecx, [ebp - 0x88]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.0040db9b
push eax
lea ecx, [ebp - 0x88]
call fcn.00401fbf
lea ecx, [ebp - 0x168]
call fcn.0040216d
push esi
lea eax, [ebp - 0x88]
push eax
call fcn.0040a6bf
test eax, eax
je 0x40c14f
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], ebx
jb 0x40c14a
mov esi, dword [esi]
xor eax, eax
mov word [esi], ax
lea ecx, [ebp - 0x88]
call fcn.0040216d
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 7
call fcn.004020a3
mov esi, dword [ebp - 0x150]
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x68636577
push eax
lea ecx, [ebp - 0xbc]
mov word [ebp - 0x20], 0x7461
mov byte [ebp - 0x1e], bl
call fcn.004b9dd0
mov ecx, eax
call fcn.004bcc60
test al, al
jne 0x40c2ae
lea eax, [ebp - 0xd4]
mov edx, 0x52dd00
push eax
lea ecx, [ebp - 0xa0]
call fcn.0040e457
pop ecx
mov byte [ebp - 4], 0xb
call fcn.0040a009
add eax, 4
add esi, 0x8f8
push eax
mov ecx, esi
call fcn.00404690
cmp dword [ebp - 0x8c], 8
lea edx, [ebp - 0xa0]
push ecx
cmovae edx, dword [ebp - 0xa0]
lea ecx, [ebp - 0x168]
call fcn.00401961
pop ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 0xc
call fcn.004046f0
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0xb
call fcn.004020a3
push 0x52dcf4
mov ecx, esi
call fcn.00402146
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0xbc]
call fcn.004b9dd0
lea ecx, [ebp - 0x88]
push ecx
mov ecx, eax
call fcn.004bb8b0
mov byte [ebp - 4], 0xd
push dword [ebp - 0x78]
push ecx
push ecx
lea ecx, [ebp - 0x88]
call fcn.0040dbea
inc eax
lea ecx, [ebp - 0x88]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.0040db9b
push eax
lea ecx, [ebp - 0x88]
call fcn.00401fbf
lea ecx, [ebp - 0x168]
call fcn.0040216d
push esi
lea eax, [ebp - 0x88]
push eax
call fcn.0040a6bf
test eax, eax
je 0x40c294
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], ebx
jb 0x40c28f
mov esi, dword [esi]
xor eax, eax
mov word [esi], ax
lea ecx, [ebp - 0x88]
call fcn.0040216d
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 7
call fcn.004020a3
lea eax, [ebp - 0x64]
mov dword [ebp - 0x64], 0x63736964
push eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x60], 0x746e756f
mov byte [ebp - 0x5c], bl
call fcn.004b9dd0
mov ecx, eax
call fcn.004bcc60
test al, al
jne 0x40c58a
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0xbc]
call fcn.004b9dd0
mov edi, eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, edi
call fcn.004b9dd0
mov ecx, eax
call fcn.004bcc60
test al, al
jne 0x40c334
lea eax, [ebp - 0x2c]
mov ecx, edi
push eax
call fcn.004b9dd0
mov ecx, eax
call fcn.004bb150
mov esi, dword [ebp - 0x150]
fstp qword [ebp - 0x174]
movsd xmm0, qword [ebp - 0x174]
movsd qword [esi + 0x8d8], xmm0
jmp 0x40c33a
mov esi, dword [ebp - 0x150]
lea eax, [ebp - 0x34]
mov ecx, edi
push eax
call fcn.004b9dd0
mov ecx, eax
call fcn.004bcc60
test al, al
jne 0x40c461
lea eax, [ebp - 0xd4]
mov edx, str.AliDsc
push eax
lea ecx, [ebp - 0xa0]
call fcn.0040e457
pop ecx
mov byte [ebp - 4], 0xe
call fcn.0040a009
add eax, 4
add esi, 0x940
push eax
mov ecx, esi
call fcn.00404690
cmp dword [ebp - 0x8c], 8
lea edx, [ebp - 0xa0]
push ecx
cmovae edx, dword [ebp - 0xa0]
lea ecx, [ebp - 0x168]
call fcn.00401961
pop ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 0xf
call fcn.004046f0
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0xe
call fcn.004020a3
push 0x52dcf4
mov ecx, esi
call fcn.00402146
lea eax, [ebp - 0x34]
mov ecx, edi
push eax
call fcn.004b9dd0
lea ecx, [ebp - 0x88]
push ecx
mov ecx, eax
call fcn.004bb8b0
mov byte [ebp - 4], 0x10
push dword [ebp - 0x78]
push ecx
push ecx
lea ecx, [ebp - 0x88]
call fcn.0040dbea
inc eax
lea ecx, [ebp - 0x88]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.0040db9b
push eax
lea ecx, [ebp - 0x88]
call fcn.00401fbf
lea ecx, [ebp - 0x168]
call fcn.0040216d
push esi
lea eax, [ebp - 0x88]
push eax
call fcn.0040a6bf
test eax, eax
je 0x40c447
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], ebx
jb 0x40c442
mov esi, dword [esi]
xor eax, eax
mov word [esi], ax
lea ecx, [ebp - 0x88]
call fcn.0040216d
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 7
call fcn.004020a3
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
call fcn.004b9dd0
mov ecx, eax
call fcn.004bcc60
test al, al
jne 0x40c58a
lea eax, [ebp - 0xd4]
mov edx, str.WxDsc
push eax
lea ecx, [ebp - 0xa0]
call fcn.0040e457
pop ecx
mov byte [ebp - 4], 0x11
call fcn.0040a009
mov esi, dword [ebp - 0x150]
add eax, 4
add esi, 0x910
push eax
mov ecx, esi
call fcn.00404690
cmp dword [ebp - 0x8c], 8
lea edx, [ebp - 0xa0]
push ecx
cmovae edx, dword [ebp - 0xa0]
lea ecx, [ebp - 0x168]
call fcn.00401961
pop ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 0x12
call fcn.004046f0
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x11
call fcn.004020a3
push 0x52dcf4
mov ecx, esi
call fcn.00402146
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
call fcn.004b9dd0
lea ecx, [ebp - 0x88]
push ecx
mov ecx, eax
call fcn.004bb8b0
mov byte [ebp - 4], 0x13
push dword [ebp - 0x78]
push ecx
push ecx
lea ecx, [ebp - 0x88]
call fcn.0040dbea
inc eax
lea ecx, [ebp - 0x88]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.0040db9b
push eax
lea ecx, [ebp - 0x88]
call fcn.00401fbf
lea ecx, [ebp - 0x168]
call fcn.0040216d
push esi
lea eax, [ebp - 0x88]
push eax
call fcn.0040a6bf
test eax, eax
je 0x40c574
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], ebx
jb 0x40c56f
mov esi, dword [esi]
xor eax, eax
mov word [esi], ax
lea ecx, [ebp - 0x88]
call fcn.0040216d
lea ecx, [ebp - 0xa0]
call fcn.004020a3
xor ebx, ebx
lea ecx, [ebp - 0xd4]
inc ebx
call fcn.004020a3
lea ecx, [ebp - 0xbc]
call fcn.004b9790
lea ecx, [ebp - 0xf8]
call fcn.0040216d
lea ecx, [ebp - 0x124]
call fcn.0040216d
lea ecx, [ebp - 0x138]
call fcn.0040daf6
lea ecx, [ebp - 0x14c]
call fcn.0040dade
jmp 0x40c5e4
mov eax, ebx
call fcn.004c8423
ret 4