Function at 0x100d5cd0
Capabilities:
Check mutex on windows
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x1018985b
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x101c6444]
xor eax, esp
mov dword [esp + 0x28], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101c6444]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x28], esi
mov dword [esi], 0x101993f0
lea edi, [esi + 4]
xor ebx, ebx
mov ecx, edi
mov dword [esp + 0x48], ebx
call fcn.1002acb0
mov dword [esi + 8], 0x10199498
mov dword [esi + 0xc], 0x10199548
mov dword [esi + 0x10], 0x10198b74
mov dword [esi + 0x14], 0x1019954c
mov dword [esi + 0x18], 0x10199570
mov dword [edi], 0x10199a00
lea edi, [esi + 0x1c]
mov ecx, edi
mov byte [esp + 0x48], 1
mov dword [esi], 0x10199ac0
mov dword [esi + 8], 0x10199950
mov dword [esi + 0xc], 0x1019994c
mov dword [esi + 0x10], 0x10199948
mov dword [esi + 0x14], 0x10199924
mov dword [esi + 0x18], 0x10199920
call fcn.10037260
mov dword [edi + 4], eax
mov byte [eax + 0x15], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebx
lea edi, [esi + 0x28]
mov ecx, edi
mov byte [esp + 0x48], 2
call fcn.10037260
mov dword [edi + 4], eax
mov byte [eax + 0x15], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebx
lea edi, [esi + 0x34]
mov ecx, edi
mov byte [esp + 0x48], 3
call fcn.10037260
mov dword [edi + 4], eax
mov byte [eax + 0x15], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebx
mov dword [esi + 0x40], 0x10199598
mov edi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea eax, [esi + 0x48]
mov ebp, 0x101975e4
push eax
mov dword [esi + 0x44], ebp
call edi
lea ecx, [esi + 0x60]
mov byte [esp + 0x48], 6
call fcn.100ab120
mov dword [esi + 0x64], eax
mov byte [eax + 0x1a9], 1
mov eax, dword [esi + 0x64]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x64]
mov dword [eax], eax
mov eax, dword [esi + 0x64]
mov dword [eax + 8], eax
mov dword [esi + 0x68], ebx
push 0xb68
lea eax, [esi + 0x78]
push ebx
push eax
mov byte [esp + 0x54], 7
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], ebx
call fcn.101580b0
mov eax, 0x10
push 0xb68
mov dword [esi + 0xbd8], eax
mov dword [esi + 0xbd4], eax
lea eax, [esi + 0xbe0]
push ebx
push eax
mov dword [esi + 0x7e], 0xa
mov dword [esi + 0x82], 0x7d0
mov dword [esi + 0x86], 4
mov byte [esi + 0xbdf], bl
mov dword [esi + 0x8e], 0x1000
call fcn.101580b0
mov eax, 0x10
push 0x114a
mov dword [esi + 0x1740], eax
mov dword [esi + 0x173c], eax
lea eax, [esi + 0x1748]
push ebx
push eax
mov dword [esi + 0xbe6], 0xa
mov dword [esi + 0xbea], 0x7d0
mov dword [esi + 0xbee], 4
mov byte [esi + 0x1747], bl
mov dword [esi + 0xbf6], 0x1000
call fcn.101580b0
push 0x114a
lea eax, [esi + 0x2892]
push ebx
push eax
mov dword [esi + 0x1748], ebx
call fcn.101580b0
push 0x34
lea eax, [esi + 0x39dc]
push ebx
push eax
mov dword [esi + 0x2892], ebx
call fcn.101580b0
push 0x114a
lea eax, [esi + 0x3a10]
push ebx
push eax
mov dword [esi + 0x39dc], 0xa
mov dword [esi + 0x39e0], 0x4e20
mov dword [esi + 0x39e4], 5
mov dword [esi + 0x39e8], 0x1e
mov byte [esi + 0x39ec], bl
mov byte [esi + 0x39ed], bl
mov byte [esi + 0x39ee], bl
call fcn.101580b0
add esp, 0x48
push ebx
mov dword [esi + 0x3a10], ebx
push ebx
lea ecx, [esi + 0x4b60]
mov dword [esi + 0x4b5c], 0x80000000
call fcn.1005bc80
push ebx
push ebx
lea ecx, [esi + 0x4ba8]
mov byte [esp + 0x50], 8
call fcn.1005bc80
push ebx
mov byte [esp + 0x4c], 9
push ebx
lea ecx, [esi + 0x4bf0]
call fcn.1005bc80
lea ecx, [esi + 0x4c38]
mov byte [esp + 0x48], 0xa
call fcn.100e1970
push ebx
push ebx
lea ecx, [esi + 0x4c68]
mov byte [esp + 0x50], 0xb
call fcn.100dba90
mov dword [esi + 0x4ca8], ebx
mov dword [esi + 0x4cac], ebx
mov dword [esi + 0x4cb0], ebx
mov cl, byte [esi + 0x4cb8]
mov dword [esi + 0x4cb4], ebx
and cl, 0xf1
mov byte [esi + 0x4cb9], bl
mov dword [esi + 0x4cba], ebx
mov word [esi + 0x4cbe], bx
mov dword [esi + 0x4cc0], ebx
mov word [esi + 0x4cc4], bx
mov dword [esi + 0x4cc6], ebx
mov word [esi + 0x4cca], bx
or cl, 0x11
mov byte [esi + 0x4cb8], cl
mov byte [esi + 0x4ccc], bl
mov dword [esi + 0x4ccd], ebx
mov word [esi + 0x4cd1], bx
mov byte [esi + 0x4cd3], bl
lea ecx, [esi + 0x4cf0]
mov byte [esp + 0x48], 0xd
mov dword [esi + 0x4ce4], 0x10199bbc
mov dword [esi + 0x4ce8], ebx
call fcn.100b5260
lea ecx, [esi + 0x4d38]
mov byte [esp + 0x48], 0xe
mov dword [esi + 0x4d34], ebx
call fcn.100b9030
push str._p2pdownload_tencent_dr
push ebx
push ebx
mov dword [esi + 0x4d64], 0x10198180
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
cmp eax, ebx
mov dword [esi + 0x4d68], eax
jne 0x100d60b5
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x100d60b5
push str._p2pdownload_tencent_dr
push ebx
push 1
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov dword [esi + 0x4d68], eax
lea ecx, [esi + 0x4d6c]
mov byte [esp + 0x48], 0x10
call fcn.10030690
lea ecx, [esi + 0x4d98]
push 0xc
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.fs_bt.qq.com
mov byte [esp + 0x50], 0x11
mov byte [ecx + 4], bl
call fcn.10001b80
lea ecx, [esi + 0x4dbc]
mov dword [esi + 0x4db4], ebx
mov word [esi + 0x4db8], bx
push 0xc
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.fs_rc.qq.com
mov byte [esp + 0x50], 0x12
mov byte [ecx + 4], bl
call fcn.10001b80
lea ecx, [esi + 0x4de0]
mov dword [esi + 0x4dd8], ebx
mov word [esi + 0x4ddc], bx
push 0x15
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.xf.stat_doctor.qq.com
mov byte [esp + 0x50], 0x13
mov byte [ecx + 4], bl
call fcn.10001b80
mov dword [esi + 0x4dfc], ebx
mov word [esi + 0x4e00], bx
mov dword [esi + 0x4e08], ebx
mov dword [esi + 0x4e0c], ebx
mov dword [esi + 0x4e10], ebx
lea ecx, [esi + 0x4e1c]
mov dword [esi + 0x4e14], ebx
mov word [esi + 0x4e18], bx
push 0x11
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.xf_bt.stat.qq.com
mov byte [esp + 0x50], 0x15
mov byte [ecx + 4], bl
call fcn.10001b80
lea ecx, [esi + 0x4e40]
mov dword [esi + 0x4e38], ebx
mov word [esi + 0x4e3c], bx
push 0x11
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.xf_em.stat.qq.com
mov byte [esp + 0x50], 0x16
mov byte [ecx + 4], bl
call fcn.10001b80
lea ecx, [esi + 0x4e64]
mov dword [esi + 0x4e5c], ebx
mov word [esi + 0x4e60], bx
push 0x10
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.local_p2p.qq.com
mov byte [esp + 0x50], 0x17
mov byte [ecx + 4], bl
call fcn.10001b80
lea ecx, [esi + 0x4e88]
mov dword [esi + 0x4e80], ebx
mov word [esi + 0x4e84], bx
mov byte [esp + 0x48], 0x18
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x1a
push str.fs_conn_back_doctor.qq.com
mov byte [ecx + 4], bl
call fcn.10001b80
lea ecx, [esi + 0x4ea4]
push 0x1b
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.fs_conn_other_doctor.qq.com
mov byte [esp + 0x50], 0x19
mov byte [ecx + 4], bl
call fcn.10001b80
lea ecx, [esi + 0x4ec0]
push 0xd
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.cfg.xf.qq.com
mov byte [esp + 0x50], 0x1a
mov byte [ecx + 4], bl
call fcn.10001b80
lea ecx, [esi + 0x4ee4]
mov dword [esi + 0x4edc], ebx
mov word [esi + 0x4ee0], bx
push 0x13
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.dtrp.jingpin.qq.com
mov byte [esp + 0x50], 0x1b
mov byte [ecx + 4], bl
call fcn.10001b80
lea ecx, [esi + 0x4f08]
mov dword [esi + 0x4f00], ebx
mov word [esi + 0x4f04], bx
push 0x17
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.dtrp.url_quality.qq.com
mov byte [esp + 0x50], 0x1c
mov byte [ecx + 4], bl
call fcn.10001b80
mov dword [esi + 0x4f24], ebx
mov word [esi + 0x4f28], bx
mov dword [esi + 0x4f2c], ebx
mov byte [esi + 0x4f30], bl
mov dword [esi + 0x4f31], ebx
mov word [esi + 0x4f35], bx
mov dword [esi + 0x4f37], ebx
mov word [esi + 0x4f3b], bx
lea ecx, [esi + 0x4f54]
mov byte [esp + 0x48], 0x1d
mov byte [esi + 0x4f3d], bl
mov dword [esi + 0x4f40], ebx
mov dword [esi + 0x4f44], ebx
mov dword [esi + 0x4f48], ebx
mov dword [esi + 0x4f4c], ebx
mov dword [esi + 0x4f50], ebx
call fcn.100ab160
mov dword [esi + 0x4f58], eax
mov byte [eax + 0xf9], 1
mov eax, dword [esi + 0x4f58]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x4f58]
mov dword [eax], eax
mov eax, dword [esi + 0x4f58]
mov dword [eax + 8], eax
mov dword [esi + 0x4f5c], ebx
lea edx, [esi + 0x4f64]
push edx
mov dword [esi + 0x4f60], ebp
call edi
mov eax, 0x100c26b0
mov ecx, ebx
mov byte [esi + 0x4f80], 1
mov byte [esi + 0x4f81], bl
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x4f88], ebx
mov dword [esi + 0x4f8c], ebx
mov dword [esi + 0x4f90], ebx
mov dword [esi + 0x4f98], esi
mov dword [esi + 0x4f9c], edx
mov dword [esi + 0x4fa0], eax
lea eax, [esi + 0x4fac]
mov dword [esi + 0x4fa4], ecx
push eax
mov dword [esi + 0x4fa8], ebp
call edi
mov edx, dword [esp + 0x1c]
mov byte [esi + 0x4fc8], 1
mov byte [esi + 0x4fc9], bl
mov dword [esi + 0x4fd0], ebx
mov dword [esi + 0x4fd4], ebx
mov dword [esi + 0x4fd8], ebx
mov dword [esi + 0x4fe0], esi
mov dword [esi + 0x4fe4], edx
mov eax, 0x100b64c0
mov dword [esi + 0x4fe8], eax
mov ecx, ebx
lea eax, [esi + 0x4ff4]
mov dword [esi + 0x4fec], ecx
push eax
mov dword [esi + 0x4ff0], ebp
call edi
mov edx, dword [esp + 0x1c]
mov byte [esi + 0x5010], 1
mov byte [esi + 0x5011], bl
mov dword [esi + 0x5018], ebx
mov dword [esi + 0x501c], ebx
mov dword [esi + 0x5020], ebx
mov dword [esi + 0x5028], esi
mov dword [esi + 0x502c], edx
mov eax, 0x100b6530
mov dword [esi + 0x5030], eax
mov ecx, ebx
lea eax, [esi + 0x503c]
mov dword [esi + 0x5034], ecx
push eax
mov dword [esi + 0x5038], ebp
call edi
mov edx, dword [esp + 0x1c]
mov byte [esi + 0x5058], 1
mov byte [esi + 0x5059], bl
mov dword [esi + 0x5060], ebx
mov dword [esi + 0x5064], ebx
mov dword [esi + 0x5068], ebx
mov dword [esi + 0x5070], esi
mov dword [esi + 0x5074], edx
mov eax, 0x100beaa0
mov dword [esi + 0x5078], eax
mov ecx, ebx
lea eax, [esi + 0x5084]
mov dword [esi + 0x507c], ecx
push eax
mov dword [esi + 0x5080], ebp
call edi
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x50a0], ebx
mov byte [esi + 0x50a8], 1
mov byte [esi + 0x50a9], bl
mov dword [esi + 0x50b0], ebx
mov dword [esi + 0x50b4], ebx
mov dword [esi + 0x50b8], ebx
mov dword [esi + 0x50c0], esi
mov dword [esi + 0x50c4], edx
mov eax, 0x100afef0
mov dword [esi + 0x50c8], eax
mov ecx, ebx
lea eax, [esi + 0x50d4]
mov dword [esi + 0x50cc], ecx
push eax
mov dword [esi + 0x50d0], ebp
call edi
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x50f0], ebx
mov byte [esi + 0x50f8], 1
mov byte [esi + 0x50f9], bl
mov dword [esi + 0x5100], ebx
mov dword [esi + 0x5104], ebx
mov dword [esi + 0x5108], ebx
mov dword [esi + 0x5110], esi
mov dword [esi + 0x5114], edx
mov eax, 0x100b0130
mov dword [esi + 0x5118], eax
mov ecx, ebx
lea eax, [esi + 0x5124]
mov dword [esi + 0x511c], ecx
push eax
mov dword [esi + 0x5120], ebp
call edi
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x5140], ebx
mov byte [esi + 0x5148], 1
mov byte [esi + 0x5149], bl
mov dword [esi + 0x5150], ebx
mov dword [esi + 0x5154], ebx
mov dword [esi + 0x5158], ebx
mov dword [esi + 0x5160], esi
mov dword [esi + 0x5164], edx
mov eax, 0x100b0370
mov dword [esi + 0x5168], eax
mov ecx, ebx
lea eax, [esi + 0x5174]
mov dword [esi + 0x516c], ecx
push eax
mov dword [esi + 0x5170], ebp
call edi
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x5190], ebx
mov byte [esi + 0x5198], 1
mov byte [esi + 0x5199], bl
mov dword [esi + 0x51a0], ebx
mov dword [esi + 0x51a4], ebx
mov dword [esi + 0x51a8], ebx
mov dword [esi + 0x51b0], esi
mov dword [esi + 0x51b4], edx
mov eax, 0x100b05b0
mov dword [esi + 0x51b8], eax
mov ecx, ebx
lea eax, [esi + 0x51c4]
mov dword [esi + 0x51bc], ecx
push eax
mov dword [esi + 0x51c0], ebp
call edi
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x51e0], ebx
mov byte [esi + 0x51e8], 1
mov byte [esi + 0x51e9], bl
mov dword [esi + 0x51f0], ebx
mov dword [esi + 0x51f4], ebx
mov dword [esi + 0x51f8], ebx
mov dword [esi + 0x5200], esi
mov dword [esi + 0x5204], edx
mov eax, 0x100b0800
mov dword [esi + 0x5208], eax
mov ecx, ebx
lea eax, [esi + 0x5214]
mov dword [esi + 0x520c], ecx
push eax
mov dword [esi + 0x5210], ebp
call edi
lea ecx, [esi + 0x5234]
mov byte [esp + 0x48], 0x28
mov dword [esi + 0x5230], ebx
call fcn.100a7ee0
lea eax, [esi + 0x5234]
mov byte [esp + 0x48], 0x29
push eax
lea ecx, [esi + 0x5260]
call fcn.1002fa40
lea ecx, [esi + 0x52f8]
mov byte [esp + 0x48], 0x2a
call fcn.100e2520
lea ecx, [esi + 0x52fc]
mov byte [esp + 0x48], 0x2b
call fcn.100ab1a0
mov dword [esi + 0x5300], eax
mov byte [eax + 0x39], 1
mov eax, dword [esi + 0x5300]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x5300]
mov dword [eax], eax
mov eax, dword [esi + 0x5300]
mov dword [eax + 8], eax
mov dword [esi + 0x5304], ebx
lea ecx, [esi + 0x530c]
push ecx
mov dword [esi + 0x5308], ebp
call edi
lea edx, [esi + 0x532c]
mov dword [esi + 0x5324], ebx
push edx
mov dword [esi + 0x5328], ebp
call edi
lea ecx, [esi + 0x5344]
mov byte [esp + 0x48], 0x2e
call fcn.100b9030
mov dword [esi + 0x5374], ebx
mov dword [esi + 0x5378], ebx
mov dword [esi + 0x537c], ebx
lea ecx, [esi + 0x5380]
mov byte [esp + 0x48], 0x30
call fcn.10086980
mov dword [esi + 0x53b4], ebx
mov dword [esi + 0x53b8], ebx
mov dword [esi + 0x53bc], ebx
lea ecx, [esi + 0x53c0]
push 0xd
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.xfstat.qq.com
mov byte [esp + 0x50], 0x32
mov byte [ecx + 4], bl
call fcn.10001b80
mov dword [esi + 0x53dc], ebx
mov word [esi + 0x53e0], bx
lea ecx, [esi + 0x53e8]
mov byte [esp + 0x48], 0x33
mov dword [esi + 0x53e4], ebx
call fcn.100dee20
lea eax, [esi + 0x542c]
push eax
mov dword [esi + 0x5428], ebp
call edi
mov dword [esi + 0x5448], ebx
mov dword [esi + 0x544c], ebx
mov dword [esi + 0x5450], ebx
lea ecx, [esi + 0x5458]
push ecx
mov dword [esi + 0x5454], ebp
call edi
mov dword [esi + 0x5474], ebx
mov dword [esi + 0x5478], ebx
mov dword [esi + 0x547c], ebx
mov byte [esi + 0x5480], 0x64
mov dword [esi + 0x5481], ebx
mov dword [esi + 0x5485], ebx
mov dword [esi + 0x5489], ebx
mov dword [esi + 0x548d], ebx
mov dword [esi + 0x5491], ebx
mov dword [esi + 0x5495], ebx
lea ecx, [esi + 0x549c]
mov byte [esi + 0x5499], bl
push 0xf
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.fs_emule.qq.com
mov byte [esp + 0x50], 0x38
mov byte [ecx + 4], bl
call fcn.10001b80
lea edx, [esi + 0x54c4]
mov dword [esi + 0x54b8], ebx
mov word [esi + 0x54bc], bx
push edx
mov dword [esi + 0x54c0], ebp
call edi
lea ecx, [esi + 0x54dc]
mov byte [esp + 0x48], 0x3a
call fcn.100ab1e0
mov dword [esi + 0x54e0], eax
mov byte [eax + 0x2a1], 1
mov eax, dword [esi + 0x54e0]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x54e0]
mov dword [eax], eax
mov eax, dword [esi + 0x54e0]
mov dword [eax + 8], eax
mov dword [esi + 0x54e4], ebx
lea ecx, [esi + 0x54e8]
mov byte [esp + 0x48], 0x3b
call fcn.100ab220
mov dword [esi + 0x54ec], eax
mov byte [eax + 0x3d], 1
mov eax, dword [esi + 0x54ec]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x54ec]
mov dword [eax], eax
mov eax, dword [esi + 0x54ec]
mov dword [eax + 8], eax
mov dword [esi + 0x54f0], ebx
lea ecx, [esi + 0x54f4]
mov byte [esp + 0x48], 0x3c
call fcn.100ab260
mov dword [esi + 0x54f8], eax
mov byte [eax + 0x165], 1
mov eax, dword [esi + 0x54f8]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x54f8]
mov dword [eax], eax
mov eax, dword [esi + 0x54f8]
mov dword [eax + 8], eax
mov dword [esi + 0x54fc], ebx
lea ecx, [esi + 0x5508]
mov byte [esp + 0x48], 0x3d
mov byte [esi + 0x5500], bl
mov byte [esi + 0x5501], 0xf
mov byte [esi + 0x5502], bl
mov byte [esi + 0x5503], 0x40
mov byte [esi + 0x5504], 1
call fcn.100436d0
lea ecx, [esi + 0x553c]
mov byte [esp + 0x48], 0x3e
mov dword [esi + 0x5534], ebx
mov dword [esi + 0x5538], ebx
call fcn.100ab2a0
mov dword [esi + 0x5540], eax
mov byte [eax + 0x2d], 1
mov eax, dword [esi + 0x5540]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x5540]
mov dword [eax], eax
mov eax, dword [esi + 0x5540]
mov dword [eax + 8], eax
mov dword [esi + 0x5544], ebx
lea ecx, [esi + 0x5550]
mov byte [esp + 0x48], 0x3f
mov dword [esi + 0x5548], ebx
call fcn.101022bc
lea ecx, [esi + 0x5578]
mov byte [esp + 0x48], 0x40
call fcn.100e36d0
mov dword [esi + 0x56a8], ebx
mov dword [esi + 0x56ac], ebx
mov dword [esi + 0x56b0], ebx
lea ecx, [esi + 0x56bc]
mov byte [esp + 0x48], 0x41
mov dword [esi + 0x56b4], ebx
mov dword [esi + 0x56b8], ebx
call fcn.1013d5b7
push 0xa
lea ecx, [esi + 0x56f8]
mov byte [esp + 0x4c], 0x42
mov dword [esi + 0x56f0], ebx
mov word [esi + 0x56f4], bx
call fcn.100fe481
push 0xa
lea ecx, [esi + 0x5760]
mov byte [esp + 0x4c], 0x43
call fcn.100fe481
mov dword [esi + 0x57c8], ebx
mov word [esi + 0x57cc], bx
lea ecx, [esi + 0x57d4]
mov byte [esp + 0x48], 0x44
mov dword [esi + 0x57d0], ebx
call fcn.100ab2e0
mov dword [esi + 0x57d8], eax
mov byte [eax + 0x51], 1
mov eax, dword [esi + 0x57d8]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x57d8]
mov dword [eax], eax
mov eax, dword [esi + 0x57d8]
mov dword [eax + 8], eax
mov dword [esi + 0x57dc], ebx
lea ecx, [esi + 0x57f4]
mov byte [esp + 0x48], 0x45
mov dword [esi + 0x57e0], ebx
mov dword [esi + 0x57e4], ebx
mov dword [esi + 0x57e8], ebx
mov dword [esi + 0x57ec], ebx
call fcn.10006010
mov dword [esi + 0x57f8], eax
mov byte [eax + 0x21], 1
mov eax, dword [esi + 0x57f8]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x57f8]
mov dword [eax], eax
mov eax, dword [esi + 0x57f8]
mov dword [eax + 8], eax
mov dword [esi + 0x57fc], ebx
mov byte [esi + 0x5800], bl
mov byte [esi + 0x5801], bl
mov byte [esi + 0x5802], bl
mov dword [esi + 0x5808], 1
mov dword [esi + 0x5810], ebx
mov dword [esi + 0x5814], ebx
mov dword [esi + 0x5818], ebx
mov dword [esi + 0x5820], ebx
mov dword [esi + 0x5824], ebx
mov dword [esi + 0x5828], ebx
mov dword [esi + 0x5830], ebx
mov dword [esi + 0x5834], ebx
mov dword [esi + 0x5838], ebx
lea ecx, [esi + 0x5848]
mov byte [esp + 0x48], 0x49
mov dword [esi + 0x583c], ebx
mov dword [esi + 0x5840], ebx
mov byte [esi + 0x5844], bl
call fcn.1008c330
mov dword [esi + 0x584c], eax
mov byte [eax + 0x45], 1
mov eax, dword [esi + 0x584c]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x584c]
mov dword [eax], eax
mov eax, dword [esi + 0x584c]
mov dword [eax + 8], eax
mov dword [esi + 0x5850], ebx
mov dword [esi + 0x5854], ebx
lea ecx, [esi + 0x5860]
mov byte [esp + 0x48], 0x4a
mov byte [esi + 0x5858], bl
mov byte [esi + 0x5859], 1
mov dword [esi + 0x585c], ebx
call fcn.10006010
mov dword [esi + 0x5864], eax
mov byte [eax + 0x21], 1
mov eax, dword [esi + 0x5864]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x5864]
mov dword [eax], eax
mov eax, dword [esi + 0x5864]
mov dword [eax + 8], eax
mov dword [esi + 0x5868], ebx
mov eax, 0xf
mov dword [esi + 0x5884], eax
mov dword [esi + 0x5880], ebx
mov byte [esi + 0x5870], bl
mov dword [esi + 0x58a0], eax
mov dword [esi + 0x589c], ebx
mov byte [esi + 0x588c], bl
mov dword [esi + 0x58bc], eax
mov dword [esi + 0x58b8], ebx
mov byte [esi + 0x58a8], bl
mov dword [esi + 0x58d8], eax
mov dword [esi + 0x58d4], ebx
mov byte [esi + 0x58c4], bl
lea ecx, [esi + 0x58dc]
mov byte [esp + 0x48], 0x4f
call fcn.10037260
mov dword [esi + 0x58e0], eax
mov byte [eax + 0x15], 1
mov eax, dword [esi + 0x58e0]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x58e0]
mov dword [eax], eax
mov eax, dword [esi + 0x58e0]
mov dword [eax + 8], eax
mov dword [esi + 0x58e4], ebx
mov dword [esi + 0x58ec], ebx
mov dword [esi + 0x58f0], ebx
mov dword [esi + 0x58f4], ebx
lea ecx, [esi + 0x58f8]
mov byte [esp + 0x48], 0x51
call fcn.10005fd0
mov dword [esi + 0x58fc], eax
mov byte [eax + 0x11], 1
mov eax, dword [esi + 0x58fc]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x58fc]
mov dword [eax], eax
mov eax, dword [esi + 0x58fc]
mov dword [eax + 8], eax
mov dword [esi + 0x5900], ebx
lea ecx, [esi + 0x5904]
mov byte [esp + 0x48], 0x52
call fcn.1005e980
mov dword [esi + 0x5908], eax
mov byte [eax + 0x6d], 1
mov eax, dword [esi + 0x5908]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x5908]
mov dword [eax], eax
mov eax, dword [esi + 0x5908]
mov dword [eax + 8], eax
mov dword [esi + 0x590c], ebx
lea ecx, [esi + 0x5910]
mov byte [esp + 0x48], 0x53
call fcn.10005fd0
mov dword [esi + 0x5914], eax
mov byte [eax + 0x11], 1
mov eax, dword [esi + 0x5914]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x5914]
mov dword [eax], eax
mov eax, dword [esi + 0x5914]
mov dword [eax + 8], eax
mov dword [esi + 0x5918], ebx
lea ecx, [esi + 0x591c]
mov byte [esp + 0x48], 0x54
call fcn.10005fd0
mov dword [esi + 0x5920], eax
mov byte [eax + 0x11], 1
mov eax, dword [esi + 0x5920]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x5920]
mov dword [eax], eax
mov eax, dword [esi + 0x5920]
mov dword [eax + 8], eax
mov dword [esi + 0x5924], ebx
lea ecx, [esi + 0x5928]
mov byte [esp + 0x48], 0x55
call fcn.10005fd0
mov dword [esi + 0x592c], eax
mov byte [eax + 0x11], 1
mov eax, dword [esi + 0x592c]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x592c]
mov dword [eax], eax
mov eax, dword [esi + 0x592c]
mov dword [eax + 8], eax
mov dword [esi + 0x5930], ebx
lea ecx, [esi + 0x5934]
mov byte [esp + 0x48], 0x56
call fcn.100ab320
mov dword [esi + 0x5938], eax
mov byte [eax + 0x25], 1
mov eax, dword [esi + 0x5938]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x5938]
mov dword [eax], eax
mov eax, dword [esi + 0x5938]
mov dword [eax + 8], eax
mov dword [esi + 0x593c], ebx
lea ecx, [esi + 0x5940]
mov byte [esp + 0x48], 0x57
call fcn.100040f0
lea ecx, [esi + 0x59a8]
mov byte [esi + 0x599c], bl
mov byte [esi + 0x599d], bl
mov dword [esi + 0x59a0], ebx
mov dword [esi + 0x59a4], ebx
call fcn.10005fd0
mov dword [esi + 0x59ac], eax
mov byte [eax + 0x11], 1
mov eax, dword [esi + 0x59ac]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x59ac]
mov dword [eax], eax
mov eax, dword [esi + 0x59ac]
mov dword [eax + 8], eax
mov dword [esi + 0x59b0], ebx
lea ecx, [esi + 0x59cc]
mov byte [esp + 0x48], 0x58
mov dword [esi + 0x59b4], ebx
mov dword [esi + 0x59b8], ebx
mov byte [esi + 0x59bc], 1
call fcn.10005fd0
mov dword [esi + 0x59d0], eax
mov byte [eax + 0x11], 1
mov eax, dword [esi + 0x59d0]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x59d0]
mov dword [eax], eax
mov eax, dword [esi + 0x59d0]
mov dword [eax + 8], eax
mov dword [esi + 0x59d4], ebx
lea eax, [esi + 0x59dc]
push eax
mov dword [esi + 0x59d8], ebp
call edi
mov dword [esi + 0x5a04], ebx
mov dword [esi + 0x5a08], ebx
mov dword [esi + 0x5a0c], ebx
mov dword [esi + 0x5a10], ebx
mov byte [esi + 0x5a14], bl
mov dword [esi + 0x5a18], ebx
mov dword [esi + 0x5a1c], ebx
mov dword [esi + 0x5a20], ebx
push 0x30
mov byte [esp + 0x4c], 0x5b
mov dword [esi + 0x5a24], ebx
call fcn.101582b6
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x48], 0x5c
je 0x100d6e95
push esi
mov ecx, eax
call fcn.10023a60
jmp 0x100d6e97
xor eax, eax
lea ecx, [esp + 0x2c]
mov dword [esi + 0x4ca0], eax
mov dword [esi + 0x4cec], ebx
mov dword [esi + 0x4cd4], ebx
mov dword [esi + 0x4cd8], ebx
mov dword [esi + 0x4cdc], ebx
mov dword [esi + 0x4ce0], ebx
mov byte [esi + 0x59c4], bl
mov dword [esi + 0x59c0], 0x41816925
mov dword [esi + 0x59fc], ebx
mov dword [esi + 0x59f8], ebx
push ecx
mov byte [esp + 0x4c], 0x5b
mov dword [esi + 0x59f4], ebx
call fcn.100ee956
add esp, 4
test al, al
je 0x100d6f2e
mov edx, dword [esp + 0x14]
push edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x24]
call fcn.1000cd60
lea edx, [esp + 0x18]
push edx
lea ecx, [esi + 0x53b0]
mov byte [esp + 0x4c], 0x5d
call fcn.1000d080
lea ecx, [esp + 0x18]
mov byte [esp + 0x48], 0x5b
call fcn.1001db20
mov dword [0x101c7cf4], 0xffffffff
call fcn.1013eb6a
call fcn.1013d540
call fcn.10001840
push 0x74
call fcn.101582b6
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x48], 0x5e
je 0x100d6f68
push esi
mov ecx, eax
call fcn.100e02e0
jmp 0x100d6f6a
xor eax, eax
mov byte [esp + 0x48], 0x5b
mov dword [esi + 0x5a18], eax
call fcn.1002ac80
mov eax, esi
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.101586e7
add esp, 0x38
ret