Function at 0x4f9520
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x865120
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x8ce6f4]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
call fcn.007d76a1
mov dword [esi + 0x110], 0x40c214
xor ebx, ebx
mov dword [esi], 0x40cdac
mov dword [esi + 0x110], 0x40cd8c
mov dword [esp + 0x20], ebx
mov dword [esi + 0x114], ebx
mov dword [esi + 0x118], ebx
mov dword [esi + 0x11c], ebx
mov dword [esi + 0x120], ebx
mov dword [esi + 0x124], ebx
mov dword [esi + 0x128], ebx
mov dword [esi + 0x12c], ebx
mov dword [esi + 0x130], ebx
mov dword [esi + 0x134], ebx
mov dword [esi + 0x138], ebx
mov dword [esi + 0x13c], ebx
mov dword [esi + 0x140], ebx
mov dword [esi + 0x144], ebx
mov dword [esi + 0x148], ebx
mov byte [esp + 0x20], 0xe
call fcn.007cff5d
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4f95e3
push 0x80004005
call fcn.004a8210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x14c], eax
mov byte [esp + 0x20], 0xf
call fcn.007cff5d
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4f9614
push 0x80004005
call fcn.004a8210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x150], eax
mov dword [esi + 0x154], ebx
mov dword [esi + 0x158], ebx
mov dword [esi + 0x15c], ebx
mov dword [esi + 0x160], ebx
mov dword [esi + 0x164], ebx
mov dword [esi + 0x168], ebx
mov dword [esi + 0x16c], ebx
mov dword [esi + 0x170], ebx
mov dword [esi + 0x174], ebx
mov dword [esi + 0x178], ebx
mov dword [esi + 0x17c], ebx
mov dword [esi + 0x180], ebx
lea eax, [esi + 0x184]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [esi + 0x19c], ebx
mov dword [esi + 0x1a0], ebx
mov dword [esi + 0x1a4], ebx
mov dword [esi + 0x1a8], ebx
mov dword [esi + 0x1ac], ebx
mov dword [esi + 0x1b0], 0xa
or ebp, 0xffffffff
mov dword [esi + 0x1b4], ebp
mov dword [esi + 0x1bc], ebx
mov dword [esi + 0x1c0], ebx
mov dword [esi + 0x1c4], ebx
mov dword [esi + 0x1c8], ebx
mov dword [esi + 0x1cc], ebp
mov dword [esi + 0x1d0], ebp
mov edi, 0x40c548
mov dword [esi + 0x1d4], edi
mov dword [esi + 0x1d8], ebx
mov dword [esi + 0x1dc], edi
mov dword [esi + 0x1e0], ebx
mov dword [esi + 0x1e4], edi
mov dword [esi + 0x1e8], ebx
mov dword [esi + 0x1ec], edi
mov dword [esi + 0x1f0], ebx
mov dword [esi + 0x1f4], edi
mov dword [esi + 0x1f8], ebx
mov dword [esi + 0x1fc], edi
mov dword [esi + 0x200], ebx
mov dword [esi + 0x204], edi
mov dword [esi + 0x208], ebx
mov dword [esi + 0x20c], ebx
mov dword [esi + 0x210], ebx
mov dword [esi + 0x214], ebx
mov dword [esi + 0x218], ebx
mov dword [esi + 0x21c], edi
mov dword [esi + 0x220], ebx
mov dword [esi + 0x224], edi
mov dword [esi + 0x228], ebx
mov dword [esi + 0x22c], edi
mov dword [esi + 0x230], ebx
mov dword [esi + 0x234], edi
mov dword [esi + 0x238], ebx
mov dword [esi + 0x23c], edi
mov dword [esi + 0x240], ebx
mov dword [esi + 0x244], ebx
mov dword [esi + 0x248], ebx
mov dword [esi + 0x24c], ebx
mov dword [esi + 0x250], ebx
mov dword [esi + 0x254], ebx
mov dword [esi + 0x258], ebx
mov dword [esi + 0x25c], ebx
mov dword [esi + 0x260], ebx
mov dword [esi + 0x264], ebx
mov dword [esi + 0x268], ebx
mov dword [esi + 0x26c], ebx
mov dword [esi + 0x270], ebx
mov byte [esp + 0x20], 0x2f
mov dword [esi + 0x274], ebx
mov dword [esi + 0x278], ebx
mov dword [esi + 0x280], ebx
mov dword [esi + 0x284], ebx
mov byte [esi + 0x28c], bl
mov word [esi + 0x298], bx
call fcn.007cff5d
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4f9809
push 0x80004005
call fcn.004a8210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x29c], eax
mov byte [esp + 0x20], 0x30
call fcn.007cff5d
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4f983a
push 0x80004005
call fcn.004a8210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x2a0], eax
mov dword [esi + 0x2a8], ebp
mov dword [esi + 0x2ac], ebp
mov dword [esi + 0x2b0], ebx
mov dword [esi + 0x2b4], ebx
mov dword [esi + 0x2b8], ebx
mov dword [esi + 0x2bc], ebx
mov dword [esi + 0x2c0], ebx
mov dword [esi + 0x2c4], ebp
mov word [esi + 0x2c8], bx
mov byte [esi + 0x2ca], bl
mov dword [esi + 0x2cc], edi
mov dword [esi + 0x2d0], ebx
mov dword [esi + 0x2d4], edi
mov dword [esi + 0x2d8], ebx
mov dword [esi + 0x2dc], ebx
mov dword [esi + 0x2e0], ebx
mov dword [esi + 0x2e4], ebx
mov dword [esi + 0x2e8], ebx
mov byte [esp + 0x20], 0x38
mov dword [esi + 0x2ee], ebx
mov dword [esi + 0x2f2], ebx
call fcn.007cff5d
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4f98e4
push 0x80004005
call fcn.004a8210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x304], eax
push 0x402a88
lea ecx, [esi + 0x308]
mov byte [esp + 0x24], 0x39
call fcn.004a8f10
fld1
fst qword [esi + 0x318]
mov dword [esi + 0x340], ebx
fst qword [esi + 0x320]
mov dword [esi + 0x344], ebx
fstp qword [esi + 0x328]
mov dword [esi + 0x348], ebx
fld qword [0x405058]
mov dword [esi + 0x358], ebx
fst qword [esi + 0x330]
mov byte [esi + 0x35c], bl
fstp qword [esi + 0x338]
mov dword [esi + 0x360], ebx
mov dword [esi + 0x364], ebx
mov dword [esi + 0x368], ebx
mov dword [esi + 0x36c], ebx
mov word [esi + 0x370], bx
mov byte [esi + 0x372], bl
mov edi, 0xa
mov dword [esi + 0x374], ebx
mov dword [esi + 0x378], ebx
mov dword [esi + 0x37c], ebx
mov dword [esi + 0x380], ebx
mov dword [esi + 0x384], ebx
mov dword [esi + 0x388], edi
mov dword [esi + 0x38c], ebx
mov dword [esi + 0x390], ebx
mov dword [esi + 0x394], ebx
mov dword [esi + 0x398], ebx
mov dword [esi + 0x39c], ebx
mov dword [esi + 0x3a0], edi
lea ecx, [esi + 0x3a8]
mov byte [esp + 0x20], 0x3d
mov byte [esi + 0x3a4], bl
call fcn.004c3190
lea ecx, [esi + 0x460]
mov byte [esp + 0x20], 0x3e
mov dword [esi + 0x458], ebx
call fcn.00555700
lea ecx, [esi + 0x648]
mov byte [esp + 0x20], 0x3f
call fcn.0055dfa0
push 0x64
lea ecx, [esi + 0x7a4]
mov byte [esp + 0x24], 0x40
call fcn.005495b0
push 0x64
lea ecx, [esi + 0x890]
mov byte [esp + 0x24], 0x41
call fcn.005495b0
lea ecx, [esi + 0x97c]
mov byte [esp + 0x20], 0x42
call fcn.00557780
mov dword [esi + 0xc68], 0x40c894
mov dword [esi + 0xc74], ebx
mov dword [esi + 0xc78], ebx
mov dword [esi + 0xc70], ebx
mov dword [esi + 0xc6c], ebx
mov dword [esi + 0xc7c], ebx
mov dword [esi + 0xc80], edi
lea ecx, [esi + 0xc88]
mov byte [esp + 0x20], 0x44
call fcn.0055a080
lea ecx, [esi + 0xf18]
mov byte [esp + 0x20], 0x45
call fcn.0054d0b0
lea ecx, [esi + 0x1124]
mov byte [esp + 0x20], 0x46
call fcn.0053fbb0
lea ecx, [esi + 0x215c]
mov byte [esp + 0x20], 0x47
call fcn.0054c0d0
lea ecx, [esi + 0x2a98]
mov byte [esp + 0x20], 0x48
call fcn.005566f0
lea ecx, [esi + 0x3b88]
mov byte [esp + 0x20], 0x49
call fcn.004c6ea0
mov dword [esi + 0x3f78], 0x40c8a4
mov dword [esi + 0x3f84], ebx
mov dword [esi + 0x3f88], ebx
mov dword [esi + 0x3f80], ebx
mov dword [esi + 0x3f7c], ebx
mov dword [esi + 0x3f8c], ebx
mov dword [esi + 0x3f90], edi
lea eax, [esi + 0x110]
push eax
lea ecx, [esi + 0x3f94]
mov byte [esp + 0x24], 0x4b
call fcn.004e43a0
lea ecx, [esi + 0x3fd0]
mov byte [esp + 0x20], 0x4c
call fcn.004ea040
mov dword [esi + 0x4828], ebx
mov dword [esi + 0x4834], ebx
mov dword [esi + 0x4838], ebx
mov dword [esi + 0x483c], ebx
mov dword [esi + 0x4840], ebx
mov dword [esi + 0x4844], ebx
lea ecx, [esi + 0x4848]
mov byte [esp + 0x20], 0x51
call fcn.0059d880
mov byte [esp + 0x20], 0x52
mov byte [esi + 0x49e9], bl
mov dword [esi + 0x49ec], ebp
mov dword [esi + 0x49f0], ebx
call fcn.007cff5d
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4f9b79
push 0x80004005
call fcn.004a8210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x4a00], eax
mov word [esi + 0x4a04], bx
mov byte [esi + 0x4a06], bl
mov dword [esi + 0x4a08], ebx
mov dword [esi + 0x4a10], ebx
mov dword [esi + 0x4a14], ebx
mov dword [esi + 0x4a18], ebx
mov dword [esi + 0x4a1c], ebx
mov dword [esi + 0x4a20], ebx
mov dword [esi + 0x4a24], ebx
mov dword [esi + 0x4a28], ebx
mov dword [esi + 0x4a2c], 0xa
push ebx
push 0x64
push ebx
push ebx
lea ecx, [esi + 0x3fd0]
mov byte [esp + 0x30], 0x54
mov byte [esi + 0x4a30], bl
call fcn.004e9b90
mov dword [esi + 0x290], ebx
mov dword [esi + 0x294], ebx
mov eax, esi
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret