Function at 0x56d7e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x67a023
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1f8
mov eax, dword [0x705f50]
push ebx
push ebp
push esi
xor ebx, ebx
mov esi, ecx
cmp eax, ebx
push edi
mov dword [esp + 0x18], esi
jne 0x56d83c
mov ecx, dword [esi + 0x38]
push 1
call fcn.005ba220
fstp qword [esp + 0x54]
mov ecx, dword [esi + 0x38]
push 1
call fcn.005ba250
fabs
fstp qword [esp + 0x8c]
jmp 0x56d9ae
push ebx
lea ecx, [esp + 0x12c]
call fcn.00419450
mov eax, dword [0x706044]
mov ecx, dword [0x706040]
push 1
push eax
push ecx
push ebx
lea ecx, [esp + 0x138]
mov dword [esp + 0x220], ebx
call fcn.004197e0
mov edx, dword [0x70604c]
mov eax, dword [0x706048]
push 1
push edx
push eax
push 1
lea ecx, [esp + 0x138]
call fcn.004197e0
push ebx
push ebx
push ebx
push 2
push 2
lea ecx, [esp + 0x13c]
call fcn.00419ab0
push ecx
mov ecx, esp
mov dword [esp + 0x84], esp
push 0x6e58cc
call fcn.0065e7aa
push ebx
lea ecx, [esp + 0x130]
call fcn.00419a10
push ecx
mov ecx, esp
mov dword [esp + 0x84], esp
push 0x6e58c4
call fcn.0065e7aa
push 1
lea ecx, [esp + 0x130]
call fcn.00419a10
lea ecx, [esp + 0x128]
call fcn.0065eb22
cmp eax, 1
jne 0x56eb39
push eax
lea ecx, [esp + 0x12c]
call fcn.00419fa0
fstp qword [esp + 0x54]
push 1
lea ecx, [esp + 0x12c]
call fcn.00419fd0
fabs
fstp qword [esp + 0x8c]
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x210], 0xc
call fcn.0065e798
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x210], 0xb
call fcn.0065e798
lea ecx, [esp + 0x1b8]
mov byte [esp + 0x210], 0xa
call fcn.0065e798
lea ecx, [esp + 0x198]
mov byte [esp + 0x210], 9
call fcn.0065e798
lea ecx, [esp + 0x194]
mov byte [esp + 0x210], 8
call fcn.0065e798
lea ecx, [esp + 0x190]
mov byte [esp + 0x210], 7
call fcn.0065e798
lea ecx, [esp + 0x128]
mov dword [esp + 0x210], 0xffffffff
call fcn.0065e7b6
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x8c]
mov dword [0x706040], ecx
mov ecx, dword [esp + 0x90]
mov dword [0x706044], edx
mov dword [0x706048], eax
mov dword [0x70604c], ecx
mov eax, dword [esi + 0x18]
mov dword [esp + 0x10c], eax
mov ecx, dword [eax + 0xac]
cmp ecx, ebx
mov dword [esp + 0x80], ecx
je 0x56eb14
mov dword [esp + 0x1c], ebx
jle 0x56eb14
jmp 0x56da0d
mov eax, dword [esp + 0x10c]
mov edx, dword [eax + 0xa8]
mov eax, dword [esp + 0x1c]
push ebx
mov ecx, dword [edx + eax*4]
mov ebp, dword [ecx + 0x18]
mov ecx, ebp
mov dword [esp + 0x80], ebp
call fcn.0048fd00
mov esi, eax
cmp esi, ebx
je 0x56eaf8
mov ecx, ebp
call fcn.00491a30
mov edi, eax
cmp edi, ebx
je 0x56eaf8
push ebx
mov ecx, edi
call fcn.0048fd00
cmp eax, ebx
mov dword [esp + 0x5c], eax
je 0x56eaf8
mov ecx, ebp
call fcn.00491a80
cmp eax, ebx
mov dword [esp + 0x84], eax
je 0x56eaf8
push ebx
mov ecx, eax
call fcn.0048fd00
cmp eax, ebx
mov dword [esp + 0x50], eax
je 0x56eaf8
cmp edi, ebp
je 0x56eaf8
mov eax, dword [esp + 0x84]
cmp eax, ebp
je 0x56eaf8
cmp edi, eax
je 0x56eaf8
mov dword [esp + 0x38], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebx
push 0xa
push ebx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x218], 0xd
mov dword [esp + 0x3c], 0x69debc
call fcn.0048b670
mov dword [esp + 0x210], 0xe
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
push 0xa
push ebx
lea ecx, [esp + 0x28]
mov byte [esp + 0x218], 0xf
mov dword [esp + 0x28], 0x69db4c
call fcn.0048b670
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], ebx
push 0xa
push ebx
lea ecx, [esp + 0x70]
mov byte [esp + 0x218], 0x11
mov dword [esp + 0x70], 0x69db4c
call fcn.0048b670
mov ecx, ebp
mov byte [esp + 0x210], 0x12
call fcn.0048fc00
cmp eax, ebx
mov dword [esp + 0x60], eax
jne 0x56db9d
mov esi, 0x69db4c
lea ecx, [esp + 0x68]
mov byte [esp + 0x210], 0x10
mov dword [esp + 0x68], esi
call fcn.004602f0
lea ecx, [esp + 0x20]
mov byte [esp + 0x210], 0xe
mov dword [esp + 0x20], esi
call fcn.004602f0
lea ecx, [esp + 0x34]
mov dword [esp + 0x210], 0xffffffff
mov dword [esp + 0x34], 0x69debc
call fcn.0049ce30
jmp 0x56eaf8
mov ecx, esi
call fcn.004da3a0
mov edx, dword [eax]
push 0
mov ecx, eax
call dword [edx + 0x68]
mov ebp, eax
mov eax, dword [esp + 0x3c]
mov ebx, eax
inc eax
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x3c]
call fcn.0048b670
mov eax, dword [esp + 0x38]
push 0xffffffffffffffff
lea ecx, [esp + 0x24]
mov dword [eax + ebx*4], ebp
mov eax, dword [esp + 0x2c]
mov ebx, eax
inc eax
push eax
call fcn.0048b670
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
push 2
mov dword [ecx + ebx*4], esi
mov ecx, dword [esp + 0x80]
push edx
push eax
push esi
lea edx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x48]
push edx
push eax
call fcn.0056d5d0
push 1
mov ecx, edi
call fcn.004d8810
test eax, eax
jne 0x56dc5f
mov esi, dword [esp + 0x5c]
mov ecx, esi
call fcn.004da3a0
mov ebp, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov edx, dword [eax]
push ebp
push ecx
mov ecx, eax
call dword [edx + 0x13c]
mov ebx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x48], eax
inc eax
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1c], ebx
call fcn.0048b670
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
mov dword [edx + eax*4], ebx
jmp 0x56dca6
mov ecx, dword [esp + 0x5c]
call fcn.004da3a0
fld qword [esp + 0x54]
mov edx, dword [eax]
sub esp, 8
fchs
fstp qword [esp]
mov ecx, eax
call dword [edx + 0x13c]
mov esi, eax
mov eax, dword [esp + 0x3c]
mov ebx, eax
inc eax
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1c], esi
call fcn.0048b670
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x58]
mov dword [eax + ebx*4], esi
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x28]
push 0xffffffffffffffff
mov ebx, eax
inc eax
push eax
lea ecx, [esp + 0x28]
call fcn.0048b670
mov ecx, dword [esp + 0x24]
mov dword [ecx + ebx*4], esi
mov ebx, dword [esp + 0x7c]
push ebx
mov ecx, edi
call fcn.00493970
dec eax
mov edx, dword [esp + 0x54]
neg eax
sbb eax, eax
lea ecx, [esp + 0x34]
neg eax
push eax
push ebp
push edx
push esi
lea eax, [esp + 0x30]
push edi
push eax
push ecx
mov ecx, dword [esp + 0x34]
call fcn.0056d5d0
push 1
mov ecx, ebx
call fcn.004d8810
test eax, eax
mov ecx, ebx
jne 0x56dd17
call fcn.004da3a0
mov ecx, dword [esp + 0x90]
mov edx, dword [eax]
push ecx
mov ecx, dword [esp + 0x90]
push ecx
jmp 0x56dd2d
call fcn.004da3a0
fld qword [esp + 0x8c]
mov edx, dword [eax]
sub esp, 8
fchs
fstp qword [esp]
mov ecx, eax
call dword [edx + 0x13c]
mov ebx, dword [esp + 0x84]
push 1
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.004d8810
mov ecx, dword [esp + 0x50]
test eax, eax
jne 0x56dd84
call fcn.004da3a0
mov ecx, dword [esp + 0x54]
mov edx, dword [eax]
push ebp
push ecx
mov ecx, eax
call dword [edx + 0x13c]
mov esi, eax
mov eax, dword [esp + 0x3c]
mov ebp, eax
inc eax
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x3c]
call fcn.0048b670
mov edx, dword [esp + 0x38]
mov dword [edx + ebp*4], esi
jmp 0x56ddbb
call fcn.004da3a0
fld qword [esp + 0x54]
mov edx, dword [eax]
sub esp, 8
fchs
fstp qword [esp]
mov ecx, eax
call dword [edx + 0x13c]
mov esi, eax
mov eax, dword [esp + 0x3c]
mov ebp, eax
inc eax
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x3c]
call fcn.0048b670
mov eax, dword [esp + 0x38]
mov dword [eax + ebp*4], esi
mov eax, dword [esp + 0x28]
push 0xffffffffffffffff
mov ebp, eax
inc eax
push eax
lea ecx, [esp + 0x28]
call fcn.0048b670
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x50]
mov dword [ecx + ebp*4], edx
mov ebp, dword [esp + 0x7c]
push ebp
mov ecx, ebx
call fcn.00493970
dec eax
mov ecx, dword [esp + 0x54]
neg eax
mov edx, dword [esp + 0x50]
sbb eax, eax
neg eax
push eax
mov eax, dword [esp + 0x5c]
push eax
push ecx
push edx
lea eax, [esp + 0x30]
push ebx
lea ecx, [esp + 0x48]
push eax
push ecx
mov ecx, dword [esp + 0x34]
call fcn.0056d5d0
push edi
mov ecx, ebp
call fcn.00493970
mov edi, dword [esp + 0x48]
dec eax
push 0
push eax
mov eax, dword [esp + 0x1c]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x124]
push ebx
mov ecx, ebp
call fcn.00493970
mov edx, dword [edi]
dec eax
push 0
push eax
push esi
mov ecx, edi
call dword [edx + 0x124]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + 0x29c]
push edx
push edi
call fcn.004937b0
mov esi, eax
add esp, 8
test esi, esi
je 0x56dea3
mov eax, dword [esp + 0x70]
push 0xffffffffffffffff
mov edi, eax
inc eax
push eax
lea ecx, [esp + 0x70]
call fcn.0048b670
mov eax, dword [esp + 0x6c]
sub esp, 0xc
mov dword [eax + edi*4], esi
mov ecx, dword [0x6fd28c]
mov eax, esp
mov edx, dword [esi]
mov dword [eax], ecx
mov ecx, dword [0x6fd290]
mov dword [eax + 4], ecx
mov ecx, dword [0x6fd294]
mov dword [eax + 8], ecx
mov ecx, esi
call dword [edx + 0x3c]
mov eax, dword [esp + 0x28]
xor ebx, ebx
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x56e340
mov ebp, dword [esp + 0x48]
mov ecx, 0x69db4c
jmp 0x56dec7
mov ecx, 0x69db4c
mov edx, dword [esp + 0x24]
mov eax, dword [edx + esi*4]
mov edx, dword [esp + 0x5c]
cmp eax, edx
je 0x56e09b
cmp eax, dword [esp + 0x50]
je 0x56e09b
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xac], ecx
push 0xa
push ebx
lea ecx, [esp + 0xb4]
mov byte [esp + 0x218], 0x19
call fcn.0048b670
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x20]
lea ecx, [esp + 0xac]
push eax
push ecx
mov ecx, dword [edx + esi*4]
mov byte [esp + 0x218], 0x1a
call fcn.00491ad0
cmp dword [esp + 0xb4], ebx
je 0x56df86
mov edx, dword [esp + 0x28]
xor eax, eax
cmp edx, ebx
jle 0x56df86
mov ecx, dword [esp + 0xb0]
mov edi, dword [ecx]
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
je 0x56df6d
inc eax
add ecx, 4
cmp eax, edx
jl 0x56df5f
jmp 0x56df86
cmp eax, ebx
jl 0x56df86
mov edx, dword [esp + 0x38]
push ebx
push ebx
mov ecx, dword [edx + esi*4]
mov edx, dword [edx + eax*4]
push edx
mov edi, dword [ecx]
call dword [edi + 0x124]
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf0], ebx
push 0xa
push ebx
lea ecx, [esp + 0xf0]
mov byte [esp + 0x218], 0x1b
mov dword [esp + 0xf0], 0x69db4c
call fcn.0048b670
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x20]
lea ecx, [esp + 0xe8]
push eax
push ecx
mov ecx, dword [edx + esi*4]
mov byte [esp + 0x218], 0x1c
call fcn.004922e0
cmp dword [esp + 0xf0], ebx
je 0x56e02d
mov edx, dword [esp + 0x28]
xor eax, eax
cmp edx, ebx
jle 0x56e02d
mov ecx, dword [esp + 0xec]
mov edi, dword [ecx]
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
je 0x56e013
inc eax
add ecx, 4
cmp eax, edx
jl 0x56e005
jmp 0x56e02d
cmp eax, ebx
jl 0x56e02d
mov edx, dword [esp + 0x38]
push ebx
push 1
mov ecx, dword [edx + esi*4]
mov edx, dword [edx + eax*4]
push edx
mov edi, dword [ecx]
call dword [edi + 0x124]
mov edi, 0x69db38
mov dword [esp + 0xe8], edi
mov eax, dword [esp + 0xec]
mov byte [esp + 0x210], 0x1d
cmp eax, ebx
je 0x56e055
push eax
call fcn.0065e732
add esp, 4
mov dword [esp + 0xe8], 0x691080
mov dword [esp + 0xac], edi
mov eax, dword [esp + 0xb0]
mov byte [esp + 0x210], 0x1e
cmp eax, ebx
je 0x56e083
push eax
call fcn.0065e732
add esp, 4
mov byte [esp + 0x210], 0x12
mov dword [esp + 0xac], 0x691080
jmp 0x56e292
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xd4], ecx
push 0xa
push ebx
lea ecx, [esp + 0xdc]
mov byte [esp + 0x218], 0x13
call fcn.0048b670
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x20]
lea ecx, [esp + 0xd4]
push eax
push ecx
mov ecx, dword [edx + esi*4]
mov byte [esp + 0x218], 0x14
call fcn.00491ad0
cmp dword [esp + 0xdc], ebx
je 0x56e14d
mov eax, dword [esp + 0xd8]
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp edi, eax
je 0x56e14d
cmp edi, dword [esp + 0x50]
je 0x56e14d
mov edx, dword [esp + 0x28]
xor eax, eax
cmp edx, ebx
jle 0x56e15f
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
je 0x56e132
inc eax
add ecx, 4
cmp eax, edx
jl 0x56e124
jmp 0x56e15f
cmp eax, ebx
jl 0x56e15f
mov edx, dword [esp + 0x38]
push ebx
push ebx
mov ecx, dword [edx + esi*4]
mov edx, dword [edx + eax*4]
push edx
mov edi, dword [ecx]
call dword [edi + 0x124]
jmp 0x56e15f
mov eax, dword [esp + 0x38]
push ebx
push ebx
push ebp
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx]
call dword [edx + 0x124]
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xc8], ebx
push 0xa
push ebx
lea ecx, [esp + 0xc8]
mov byte [esp + 0x218], 0x15
mov dword [esp + 0xc8], 0x69db4c
call fcn.0048b670
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x20]
lea ecx, [esp + 0xc0]
push eax
push ecx
mov ecx, dword [edx + esi*4]
mov byte [esp + 0x218], 0x16
call fcn.004922e0
cmp dword [esp + 0xc8], ebx
je 0x56e216
mov eax, dword [esp + 0xc4]
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp edi, eax
je 0x56e216
cmp edi, dword [esp + 0x50]
je 0x56e216
mov edx, dword [esp + 0x28]
xor eax, eax
cmp edx, ebx
jle 0x56e229
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
je 0x56e1fa
inc eax
add ecx, 4
cmp eax, edx
jl 0x56e1ec
jmp 0x56e229
cmp eax, ebx
jl 0x56e229
mov edx, dword [esp + 0x38]
push ebx
push 1
mov ecx, dword [edx + esi*4]
mov edx, dword [edx + eax*4]
push edx
mov edi, dword [ecx]
call dword [edi + 0x124]
jmp 0x56e229
mov eax, dword [esp + 0x38]
push ebx
push 1
push ebp
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx]
call dword [edx + 0x124]
mov edi, 0x69db38
mov dword [esp + 0xc0], edi
mov eax, dword [esp + 0xc4]
mov byte [esp + 0x210], 0x17
cmp eax, ebx
je 0x56e251
push eax
call fcn.0065e732
add esp, 4
mov dword [esp + 0xc0], 0x691080
mov dword [esp + 0xd4], edi
mov eax, dword [esp + 0xd8]
mov byte [esp + 0x210], 0x18
cmp eax, ebx
je 0x56e27f
push eax
call fcn.0065e732
add esp, 4
mov byte [esp + 0x210], 0x12
mov dword [esp + 0xd4], 0x691080
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx]
call dword [edx + 0xb8]
mov eax, dword [esp + 0x38]
fstp qword [esp + 0x84]
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx]
call dword [edx + 0xbc]
fmul qword [0x692698]
fcomp qword [esp + 0x84]
fnstsw ax
test ah, 1
jne 0x56e333
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x34]
mov eax, dword [esp + 0x38]
mov edx, dword [ecx + 0x29c]
mov ecx, dword [eax + esi*4]
push edx
push ecx
call fcn.004937b0
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x56e333
mov eax, dword [esp + 0x70]
push 0xffffffffffffffff
mov ebp, eax
inc eax
push eax
lea ecx, [esp + 0x70]
call fcn.0048b670
mov edx, dword [esp + 0x6c]
sub esp, 0xc
mov ecx, esp
mov dword [edx + ebp*4], edi
mov edx, dword [0x6fd28c]
mov eax, dword [edi]
mov dword [ecx], edx
mov edx, dword [0x6fd290]
mov dword [ecx + 4], edx
mov edx, dword [0x6fd294]
mov dword [ecx + 8], edx
mov ecx, edi
call dword [eax + 0x3c]
mov ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
inc esi
cmp esi, eax
jl 0x56dec2
mov dword [esp + 0x98], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x9c], ebx
push 0xa
push ebx
lea ecx, [esp + 0x9c]
mov byte [esp + 0x218], 0x1f
mov dword [esp + 0x9c], 0x69db4c
call fcn.0048b670
lea eax, [esp + 0x94]
lea ecx, [esp + 0x68]
push eax
push ecx
mov byte [esp + 0x218], 0x20
call fcn.004e4b50
add esp, 8
cmp eax, ebx
je 0x56e828
push 0x330
call fcn.0065e5d0
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x210], 0x21
je 0x56e3cb
mov ecx, eax
call fcn.004d8230
mov edi, eax
jmp 0x56e3cd
xor edi, edi
mov esi, dword [esp + 0x18]
mov ecx, edi
mov byte [esp + 0x210], 0x20
mov edx, dword [esi + 0x34]
mov eax, dword [edx + 0x29c]
push eax
call fcn.004da390
mov ecx, dword [esi + 0x34]
push edi
mov ecx, dword [ecx + 0x29c]
call fcn.0049e8f0
push 0xa0
call fcn.0065e5d0
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x210], 0x22
je 0x56e421
mov ecx, eax
call fcn.004ea540
mov ebp, eax
jmp 0x56e423
xor ebp, ebp
push ebp
mov ecx, edi
mov byte [esp + 0x214], 0x20
call fcn.004d89e0
push edi
mov ecx, ebp
call fcn.004eaa50
mov ebx, dword [esp + 0x9c]
xor esi, esi
test ebx, ebx
jle 0x56e473
mov edx, dword [esp + 0x98]
mov ecx, ebp
mov eax, dword [edx + esi*4]
push eax
call fcn.004ea790
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx + esi*4]
push edx
push edi
call fcn.005d9be0
add esp, 8
inc esi
cmp esi, ebx
jl 0x56e448
lea ecx, [esp + 0x1c8]
call fcn.006524e0
push 0xc0
mov byte [esp + 0x214], 0x2d
call fcn.0065e5d0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov byte [esp + 0x210], 0x2e
je 0x56e4af
mov ecx, eax
call fcn.004d5040
mov ebp, eax
jmp 0x56e4b1
xor ebp, ebp
push 7
mov ecx, ebp
mov byte [esp + 0x214], 0x2d
call fcn.004d52a0
mov ecx, dword [esp + 0x48]
push 0
mov eax, dword [ecx]
call dword [eax + 0x68]
mov esi, eax
push 1
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 0x58]
sub esp, 0xc
mov dword [esp + 0x108], 0x3f800000
mov edx, dword [esp + 0x108]
mov ecx, esp
mov eax, dword [esi]
mov dword [esp + 0x10c], 0
mov dword [ecx], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x110], 0
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x110]
mov dword [ecx + 8], edx
mov ecx, esi
call dword [eax + 0x3c]
mov eax, dword [esi]
push 0x3fe00000
lea ecx, [esp + 0x114]
push 0
push ecx
mov ecx, esi
call dword [eax + 0x90]
mov eax, dword [0x705f7c]
test eax, eax
jne 0x56e581
push eax
push eax
push 0x3ff00000
push eax
lea ecx, [esp + 0x120]
call fcn.0049d1d0
sub esp, 8
lea ecx, [esp + 0x128]
fstp qword [esp]
call fcn.0049d1c0
sub esp, 8
fstp qword [esp]
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x6e0e14
jmp 0x56e603
cmp eax, 1
jne 0x56e5c3
push 0
push 0
push 0x3ff00000
push 0
lea ecx, [esp + 0x120]
call fcn.0049d1d0
sub esp, 8
lea ecx, [esp + 0x128]
fstp qword [esp]
call fcn.0049d1c0
sub esp, 8
fstp qword [esp]
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x6e59dc
jmp 0x56e603
cmp eax, 2
jne 0x56e614
push 0
push 0
push 0x3ff00000
push 0
lea ecx, [esp + 0x120]
call fcn.0049d1d0
sub esp, 8
lea ecx, [esp + 0x128]
fstp qword [esp]
call fcn.0049d1c0
sub esp, 8
fstp qword [esp]
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x6e59d8
call fcn.0065e7aa
lea ecx, [esp + 0x1ec]
call fcn.006529e0
sub esp, 0x40
lea edx, [esp + 0x208]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call fcn.00652520
mov ecx, ebp
call fcn.004d5460
push esi
mov ecx, ebp
call fcn.004d52b0
mov esi, dword [esp + 0x18]
push ebp
mov eax, dword [esi + 0x34]
mov ecx, dword [eax + 0x29c]
call fcn.0049f430
mov ecx, dword [esp + 0x60]
push ebp
call fcn.004d9310
mov ecx, dword [esi + 0x34]
push 1
push 1
push 0
mov edx, dword [ecx + 0x29c]
push 0
push edx
mov ecx, edi
call fcn.004dae20
mov edx, dword [0x705eb4]
mov ecx, dword [esi + 0x34]
mov eax, 1
sub eax, edx
mov edx, dword [ecx + 0x298]
push eax
push edx
mov ecx, edi
call fcn.004e2cf0
mov esi, dword [esi + 0x34]
push 0xffffffffffffffff
add esi, 0xa0
mov ecx, esi
mov ebp, dword [esi + 8]
lea eax, [ebp + 1]
push eax
call fcn.0048b670
mov ecx, dword [esi + 4]
mov dword [ecx + ebp*4], edi
mov ecx, edi
call fcn.004da3a0
mov ebp, eax
test ebp, ebp
je 0x56e77a
mov ecx, dword [esp + 0x60]
call fcn.004da3a0
mov ebx, eax
lea esi, [ebp + 0x78]
lea edi, [ebx + 0x78]
mov ecx, edi
call fcn.0064dca0
push eax
mov ecx, esi
call fcn.004d72a0
lea edx, [esp + 0x108]
mov ecx, edi
push edx
call fcn.004d7390
push eax
mov ecx, esi
mov byte [esp + 0x214], 0x2f
call fcn.004d73b0
lea ecx, [esp + 0x108]
mov byte [esp + 0x210], 0x2d
call fcn.0065e798
mov ecx, edi
call fcn.004d7310
push eax
mov ecx, esi
call fcn.004d7320
mov ecx, edi
call fcn.004d75e0
push 0x6e0e14
lea ecx, [esp + 0xac]
lea edi, [eax + 0x14]
call fcn.0065e7aa
lea eax, [esp + 0xa8]
mov ecx, esi
push eax
push edi
mov byte [esp + 0x218], 0x30
call fcn.004d7550
lea ecx, [esp + 0xa8]
mov byte [esp + 0x210], 0x2d
call fcn.0065e798
mov ebx, dword [ebx + 0x98]
mov ecx, esi
mov dword [ebp + 0x98], ebx
call fcn.004d7a20
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x210], 0x20
call fcn.006525f0
mov edi, 0x69db38
mov dword [esp + 0x94], edi
mov eax, dword [esp + 0x98]
mov byte [esp + 0x210], 0x31
test eax, eax
je 0x56e7b6
push eax
call fcn.0065e732
add esp, 4
mov esi, 0x691080
mov dword [esp + 0x68], edi
mov dword [esp + 0x94], esi
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x210], 0x32
test eax, eax
je 0x56e7df
push eax
call fcn.0065e732
add esp, 4
mov dword [esp + 0x68], esi
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x24]
mov byte [esp + 0x210], 0x33
test eax, eax
je 0x56e800
push eax
call fcn.0065e732
add esp, 4
mov dword [esp + 0x20], esi
mov dword [esp + 0x34], 0x69dea8
mov eax, dword [esp + 0x38]
mov dword [esp + 0x210], 0x34
test eax, eax
je 0x56eae3
jmp 0x56eada
mov edi, dword [esp + 0x70]
xor esi, esi
cmp edi, ebx
jle 0x56e856
mov ebp, dword [esp + 0x18]
mov ecx, dword [ebp + 0x34]
mov eax, dword [esp + 0x6c]
push ebx
mov edx, dword [ecx + 0x29c]
mov ecx, dword [eax + esi*4]
push edx
call fcn.004933f0
inc esi
cmp esi, edi
jl 0x56e836
mov edi, dword [esp + 0x70]
xor esi, esi
cmp edi, ebx
jle 0x56e877
mov ecx, dword [esp + 0x6c]
mov ecx, dword [ecx + esi*4]
cmp ecx, ebx
je 0x56e872
mov edx, dword [ecx]
push 1
call dword [edx + 4]
mov edi, dword [esp + 0x70]
inc esi
cmp esi, edi
jl 0x56e85c
push 0xa
push ebx
lea ecx, [esp + 0x70]
call fcn.0048b670
mov ecx, dword [esp + 0x7c]
call fcn.0048fc00
cmp eax, ebx
je 0x56e89f
mov ecx, eax
call fcn.004e5e20
test eax, eax
jne 0x56e94b
lea ecx, [esp + 0x64]
call fcn.0065e79e
mov eax, dword [0x705f7c]
mov byte [esp + 0x210], 0x23
cmp eax, ebx
jne 0x56e8cb
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x64]
inc eax
push eax
push 0x6e59c0
push ecx
jmp 0x56e8f7
cmp eax, 1
jne 0x56e8e2
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x64]
inc edx
push edx
push str.The_No_d_interlining_pattern_is_wrong
push eax
jmp 0x56e8f7
cmp eax, 2
jne 0x56e8ff
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x64]
inc ecx
push ecx
push 0x6e5980
push edx
call fcn.0065ea8c
add esp, 0xc
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x6fc144
call fcn.0065e7aa
push ecx
lea eax, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
mov byte [esp + 0x220], 0x24
call fcn.0065e816
mov byte [esp + 0x21c], 0x23
call fcn.00463a90
add esp, 0xc
mov byte [esp + 0x210], 0x20
lea ecx, [esp + 0x64]
jmp 0x56ea44
lea ecx, [esp + 0x4c]
call fcn.0065e79e
mov eax, dword [0x705f7c]
mov byte [esp + 0x210], 0x25
cmp eax, ebx
jne 0x56e9a0
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x4c]
inc ecx
push ecx
push 0x6e5968
push edx
call fcn.0065ea8c
add esp, 0xc
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x6e5950
call fcn.0065e7aa
push ecx
mov byte [esp + 0x21c], 0x26
mov ecx, esp
mov dword [esp + 0x20], esp
jmp 0x56ea1e
cmp eax, 1
jne 0x56e9e0
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x4c]
inc ecx
push ecx
push str.The_No_d_piece_is_symmetry_pattern
push edx
call fcn.0065ea8c
add esp, 0xc
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push str.Can_not_create_any_interlining_pattern
call fcn.0065e7aa
push ecx
mov byte [esp + 0x21c], 0x27
mov ecx, esp
mov dword [esp + 0x20], esp
jmp 0x56ea1e
cmp eax, 2
jne 0x56ea38
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x4c]
inc ecx
push ecx
push 0x6e58ec
push edx
call fcn.0065ea8c
add esp, 0xc
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x6e58d4
call fcn.0065e7aa
push ecx
mov byte [esp + 0x21c], 0x28
mov ecx, esp
mov dword [esp + 0x20], esp
lea eax, [esp + 0x58]
push eax
call fcn.0065e816
mov byte [esp + 0x21c], 0x25
call fcn.00463a90
add esp, 0xc
mov byte [esp + 0x210], 0x20
lea ecx, [esp + 0x4c]
call fcn.0065e798
mov edi, 0x69db38
mov dword [esp + 0x94], edi
mov eax, dword [esp + 0x98]
mov byte [esp + 0x210], 0x29
cmp eax, ebx
je 0x56ea71
push eax
call fcn.0065e732
add esp, 4
mov esi, 0x691080
mov dword [esp + 0x68], edi
mov dword [esp + 0x94], esi
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x210], 0x2a
cmp eax, ebx
je 0x56ea9a
push eax
call fcn.0065e732
add esp, 4
mov dword [esp + 0x68], esi
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x24]
mov byte [esp + 0x210], 0x2b
cmp eax, ebx
je 0x56eabb
push eax
call fcn.0065e732
add esp, 4
mov dword [esp + 0x20], esi
mov dword [esp + 0x34], 0x69dea8
mov eax, dword [esp + 0x38]
mov dword [esp + 0x210], 0x2c
cmp eax, ebx
je 0x56eae3
push eax
call fcn.0065e732
add esp, 4
mov dword [esp + 0x210], 0xffffffff
mov dword [esp + 0x34], 0x691080
xor ebx, ebx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x80]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x56da06
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x34]
push 1
mov edx, dword [ecx]
call dword [edx + 0x64]
mov eax, 1
mov ecx, dword [esp + 0x208]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x210], 6
call fcn.0065e798
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x210], 5
call fcn.0065e798
lea ecx, [esp + 0x1b8]
mov byte [esp + 0x210], 4
call fcn.0065e798
lea ecx, [esp + 0x198]
mov byte [esp + 0x210], 3
call fcn.0065e798
lea ecx, [esp + 0x194]
mov byte [esp + 0x210], 2
call fcn.0065e798
lea ecx, [esp + 0x190]
mov byte [esp + 0x210], 1
call fcn.0065e798
lea ecx, [esp + 0x128]
mov dword [esp + 0x210], 0xffffffff
call fcn.0065e7b6
mov ecx, dword [esp + 0x208]
pop edi
xor eax, eax
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret