Function at 0x566c20
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
lea eax, [edx + 0x1e70c]
mov dword [ebp - 0xc], ecx
push ebx
lea ebx, [ecx + 0x1e70c]
mov ecx, dword [eax]
mov dword [ebx], ecx
mov cl, byte [eax + 4]
mov byte [ebx + 4], cl
mov cl, byte [eax + 5]
mov byte [ebx + 5], cl
mov cl, byte [eax + 6]
mov byte [ebx + 6], cl
mov cl, byte [eax + 7]
mov byte [ebx + 7], cl
mov cl, byte [eax + 8]
mov byte [ebx + 8], cl
mov cl, byte [eax + 9]
mov byte [ebx + 9], cl
mov cl, byte [eax + 0xa]
push esi
mov byte [ebx + 0xa], cl
mov cl, byte [eax + 0xb]
push edi
mov byte [ebx + 0xb], cl
mov cl, byte [eax + 0xc]
mov edi, eax
sub edi, ebx
mov esi, 0xfffffff3
mov byte [ebx + 0xc], cl
mov dword [ebp - 4], edx
lea ecx, [ebx + 0xd]
mov dword [ebp - 8], edi
sub esi, ebx
mov al, byte [edi + ecx]
mov byte [ecx], al
inc ecx
lea eax, [esi + ecx]
cmp eax, 8
jb 0x566a96
mov ecx, dword [edx + 0x1e724]
lea esi, [edx + 0x1e70c]
mov dword [ebx + 0x18], ecx
mov dl, byte [esi + 0x1c]
lea eax, [esi + 0x20]
push eax
lea ecx, [ebx + 0x20]
mov byte [ebx + 0x1c], dl
call fcn.0053fb70
add esi, 0x30
lea edi, [ebx + 0x30]
mov ecx, 0x13
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 4]
lea eax, [ecx + 0x1e70c]
lea esi, [eax + 0x7c]
lea edi, [ebx + 0x7c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0xa0]
mov edi, 8
mov edx, dword [ebp - 8]
lea eax, [esi + edx]
push eax
mov ecx, esi
call fcn.0045a540
add esi, 0x44
dec edi
jne 0x566af3
mov ecx, dword [0x6264b4]
mov edx, dword [ebp - 4]
push ecx
lea esi, [edx + 0x1e70c]
push 0
lea eax, [esi + 0x2c0]
push eax
lea ecx, [ebx + 0x2c0]
call fcn.00404650
mov ecx, dword [0x6264b4]
push ecx
push 0
lea edx, [esi + 0x2d0]
push edx
lea ecx, [ebx + 0x2d0]
call fcn.00404650
mov eax, dword [ebp - 4]
add esi, 0x2e0
lea edi, [ebx + 0x2e0]
mov ebx, dword [ebp - 0xc]
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x1e53e]
lea edi, [ebx + 0x1e53e]
mov ecx, 0x73
rep movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x1e300]
mov al, byte [edi]
lea esi, [ebx + 0x1e300]
mov byte [esi], al
mov cl, byte [edi + 1]
mov byte [esi + 1], cl
mov dl, byte [edi + 2]
mov byte [esi + 2], dl
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov ecx, dword [edi + 8]
mov dword [esi + 8], ecx
mov dl, byte [edi + 0xc]
mov byte [esi + 0xc], dl
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov ecx, dword [0x6264b4]
push ecx
push 0
lea edx, [edi + 0x14]
push edx
lea ecx, [esi + 0x14]
call fcn.00404650
mov ecx, edi
mov edx, 0xffffffdc
sub ecx, esi
sub edx, esi
lea eax, [esi + 0x24]
mov dword [ebp - 0xc], edx
mov dl, byte [ecx + eax]
mov byte [eax], dl
mov edx, dword [ebp - 0xc]
inc eax
add edx, eax
cmp edx, 0xe
jb 0x566bcc
lea eax, [edi + 0x34]
push eax
lea ecx, [esi + 0x34]
call fcn.004c5710
lea ecx, [edi + 0x44]
push ecx
lea ecx, [esi + 0x44]
call fcn.004c5940
lea edx, [edi + 0x54]
push edx
lea ecx, [esi + 0x54]
call fcn.004c5b10
add edi, 0x64
push edi
lea ecx, [esi + 0x64]
call fcn.0053fb70
mov edi, dword [ebp - 4]
mov al, byte [edi + 0x1e374]
mov byte [ebx + 0x1e374], al
mov cx, word [edi + 0x1e2fc]
mov word [ebx + 0x1e2fc], cx
mov dl, byte [edi + 0x1e4d5]
mov byte [ebx + 0x1e4d5], dl
cmp edi, dword [0x67db18]
jne 0x566c49
mov eax, dword [0x6812a0]
mov dword [0x6836ec], eax
jmp 0x566c55
mov ecx, dword [0x6836ec]
mov dword [0x6812a0], ecx
mov eax, edi
sub eax, ebx
lea esi, [ebx + 0x1f8c0]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 8
jmp 0x566c6e
mov eax, dword [ebp - 0xc]
add eax, esi
push eax
mov ecx, esi
call fcn.00566ce0
mov eax, dword [ebp - 8]
add esi, 0x160
dec eax
mov dword [ebp - 8], eax
jne 0x566c6b
lea edx, [edi + 0x4becc]
mov ecx, dword [edx]
lea eax, [ebx + 0x4becc]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov dl, byte [edx + 8]
lea esi, [edi + 0x1e375]
mov byte [eax + 8], dl
mov eax, dword [ebp - 4]
lea edi, [ebx + 0x1e375]
mov ecx, 0x57
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov ecx, dword [eax + 0x1e4d6]
mov dword [ebx + 0x1e4d6], ecx
mov edx, dword [eax + 0x1e4da]
pop edi
pop esi
mov dword [ebx + 0x1e4da], edx
pop ebx
mov esp, ebp
pop ebp
ret