Function at 0x56ff40
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x61ef2f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa98
push ebx
push esi
mov ebx, ecx
mov ecx, dword [0x67db18]
push edi
mov dword [ebp - 0x18], ebx
call fcn.004b6eb0
lea eax, [ebp - 0xd]
push eax
lea ecx, [ebp - 0x2f0]
call fcn.00459bc0
xor edi, edi
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 4], edi
call fcn.0047fa10
lea ecx, [ebp - 0x294]
call fcn.004599b0
push fcn.004587b0
push 0x458680
push 8
push 0x44
lea ecx, [ebp - 0x270]
push ecx
call fcn.006051aa
mov dl, byte [ebp - 0xd]
mov esi, 1
push edi
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], esi
mov byte [ebp - 0x50], dl
call fcn.00404140
lea eax, [ebp - 0xe]
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.00459bc0
push edi
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.00459ec0
or ecx, 0xffffffff
mov dword [ebp - 0x310], edi
xor eax, eax
mov edi, 0x676080
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x676080
lea ecx, [ebp - 0x50]
mov byte [ebp - 0x30b], 0
mov byte [ebp - 0x30a], 0
mov byte [ebp - 0x309], 0
mov byte [ebp - 0x308], 0
mov byte [ebp - 0x307], 0
mov byte [ebp - 0x306], 0
call fcn.004041a0
or ecx, 0xffffffff
xor eax, eax
mov edi, 0x676080
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x676080
lea ecx, [ebp - 0x40]
call fcn.004041a0
cmp dword [ebx + 0x181c], esi
setg cl
mov dword [ebp - 4], 4
mov byte [ebp - 0x294], 0xff
mov byte [ebp - 0x2e0], 0xff
mov byte [ebp - 0x2f4], cl
mov byte [ebp - 0x30b], 1
mov byte [ebp - 0x30c], 1
mov eax, dword [ebx + 0x1820]
or esi, 0xffffffff
cmp eax, esi
mov dword [ebp - 0x310], 0x15
mov byte [ebp - 0x309], 1
jne 0x56ff1c
mov byte [ebp - 0x308], 8
jmp 0x56ff28
mov dl, byte [ebx + 0x1820]
mov byte [ebp - 0x308], dl
cmp eax, esi
je 0x56ff48
cmp dword [ebx + 0x1828], esi
je 0x56ff48
mov al, byte [ebx + 0x1820]
add al, byte [ebx + 0x1828]
mov byte [ebp - 0x30a], al
jmp 0x56ff4f
mov byte [ebp - 0x30a], 8
xor ecx, ecx
lea eax, [ebp - 0x270]
mov edi, 0x1ff
mov byte [ebp + ecx - 0x303], cl
mov word [eax + 8], di
mov edx, dword [ebp - 0x308]
and edx, 0xff
cmp ecx, edx
setl dl
mov byte [eax], dl
mov byte [eax + 0xa], 1
mov byte [eax + 0xb], 1
mov dword [eax + 0x1c], esi
mov edx, dword [ebp - 0x30a]
and edx, 0xff
cmp ecx, edx
jge 0x56ff9b
mov byte [eax + 1], 1
jmp 0x56ff9f
mov byte [eax + 1], 0
inc ecx
add eax, 0x44
cmp ecx, 8
jl 0x56ff5c
mov eax, dword [ebx + 0x1818]
mov dword [ebp - 0x2f8], eax
mov eax, esi
lea edi, [ebx + 0x858]
mov ecx, 0x27
rep stosd dword es:[edi], eax
mov ecx, esi
xor eax, eax
mov edi, 0x6680dc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
lea edx, [ebx + 0x8f4]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
xor eax, eax
mov edi, 0x668fd4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
lea edx, [ebx + 0x931]
mov esi, edi
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x310]
add ebx, 0x378
push ecx
mov ecx, ebx
mov byte [ebp - 0x304], 0
call fcn.00455e30
mov edx, dword [0x6264b4]
push edx
push 0
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebx + 0x2c0]
call fcn.00404650
mov ecx, dword [0x6264b4]
push ecx
push 0
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebx + 0x2d0]
call fcn.00404650
lea edi, [ebx + 0x2e0]
mov ecx, 5
lea esi, [ebp - 0x30]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x67db18]
movsx edx, byte [ecx + 0x1e576]
push 0
lea eax, [ebp - 0x310]
push eax
push 0
push edx
call fcn.005062e0
mov eax, dword [0x67db18]
lea esi, [eax + 0x1e53e]
mov eax, dword [ebp - 0x18]
lea edi, [eax + 0x66c]
mov ecx, 0x73
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 0x1020], ebx
mov ecx, dword [0x67db18]
lea edi, [ecx + 0x1e53e]
lea esi, [ebx + 0x2f4]
mov ecx, 0x73
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x4e0]
mov edx, dword [0x67db18]
lea edi, [edx + 0x4becc]
mov ecx, 0x27
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x67db18]
lea esi, [ecx + 0x1e70c]
lea eax, [ebx + 0x5b9]
lea edi, [ebx + 0x57c]
push ebx
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], edi
call fcn.00455e30
mov edx, dword [ebp - 0x14]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esi + 0x2c0]
call fcn.004041a0
lea ebx, [esi + 0x2d0]
mov esi, dword [ebp - 0x1c]
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
push 1
push edi
mov ecx, ebx
mov dword [ebp - 0x14], edi
call fcn.00404880
test al, al
je 0x570168
mov eax, dword [ebx + 4]
mov ecx, edi
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
push ecx
mov ecx, ebx
call fcn.00404860
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebx + 0x364]
mov eax, dword [0x67db18]
mov byte [eax + 0x1e6e1], dl
mov ecx, dword [0x67db18]
mov dl, byte [str.bitmap24]
mov byte [ecx + 0x1e576], dl
mov ecx, dword [ebx + 0x18e4]
push esi
call fcn.005a8c90
lea eax, [ebx + 0x1044]
mov ecx, 8
or edx, 0xffffffff
mov dword [eax - 4], edx
mov dword [eax], edx
mov dword [eax + 0x3bc], edx
mov dword [eax + 0x3c0], edx
add eax, 0x78
dec ecx
jne 0x5701a5
mov ecx, ebx
call fcn.005741c0
mov ecx, ebx
call fcn.00572f50
mov eax, dword [0x67db7c]
xor edi, edi
cmp eax, edi
je 0x5701ea
mov ecx, dword [0x681d68]
mov eax, dword [ecx]
call dword [eax + 0x90]
test al, al
je 0x570211
push 1
mov ecx, ebx
call fcn.00574870
push 0xba
mov ecx, ebx
call fcn.005ec8f0
mov esi, eax
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x24]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
mov edx, dword [ebx]
push 0xffff
push 0xffff0001
push edi
mov ecx, ebx
call dword [edx + 0x14]
mov ecx, ebx
call fcn.00573b60
cmp dword [0x67db7c], edi
je 0x5702dd
mov ecx, dword [0x681d68]
mov eax, dword [ecx]
call dword [eax + 0x90]
test al, al
je 0x5702dd
mov dword [ebp - 0xaa0], edi
mov dword [ebp - 0xa94], edi
mov dword [ebp - 0xa9c], 0x40f
mov dword [ebp - 0xaa4], 0xffffffff
mov dword [ebp - 0xa98], 0x794
lea esi, [ebp - 0xa90]
mov edi, 8
mov ecx, esi
call fcn.0056c040
add esi, 0x78
dec edi
jne 0x570281
lea esi, [ebp - 0x6d0]
mov edi, 8
mov ecx, esi
call fcn.0056c040
add esi, 0x78
dec edi
jne 0x570299
lea esi, [ebx + 0x1024]
mov ecx, 0xf0
lea edi, [ebp - 0xa90]
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x13e4]
mov ecx, 0xf0
lea edi, [ebp - 0x6d0]
push 1
rep movsd dword es:[edi], dword [esi]
push 1
xor edx, edx
lea ecx, [ebp - 0xaa4]
call fcn.00545fc0
push 1
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 6
call fcn.00404140
push 1
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 5
call fcn.00404140
push fcn.004587b0
push 8
push 0x44
lea ecx, [ebp - 0x270]
push ecx
mov dword [ebp - 4], 7
call fcn.0060522c
mov edx, dword [ebp - 0x2ec]
push edx
call fcn.005f8040
mov ecx, dword [ebp - 0xc]
add esp, 4
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret