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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
mov eax, ecx
mov byte [esp + 3], 0
push esi
push edi
mov esi, edx
mov dword [esp + 0x24], eax
mov edi, dword [eax + 8]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x28], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x20], edi
call fcn.006071c0
mov ecx, dword [ebp + 0x14]
xorps xmm0, xmm0
mov esi, dword [esi + 0x14]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + 0x40]
movlpd qword [esp + 0x50], xmm0
mov edx, dword [esp + 0x54]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], ecx
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
add eax, esi
mov dword [esp + 0x48], eax
cmp esi, eax
jae 0x5cd2b6
mov eax, dword [esp + 0x50]
mov dword [esp + 0x38], 1
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
mov eax, dword [ecx]
or eax, dword [ecx + 4]
mov edi, dword [esi]
jne 0x5cd0fb
test byte [esi + 0x14], 2
jne 0x5cd0fb
test byte [edi + 4], 1
jne 0x5cd0fb
mov dword [esp + 0x78], eax
lea ecx, [esp + 0x60]
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
movaps xmmword [esp + 0x60], xmm0
mov edx, edi
movq qword [esp + 0x70], xmm0
mov byte [esp + 0x74], 3
mov eax, dword [eax + 0x30]
mov dword [esp + 0x60], fcn.00607680
mov dword [esp + 0x64], 0x607660
mov dword [esp + 0x78], eax
call fcn.0060b840
cmp byte [esp + 0x74], 0
je 0x5cd0f3
mov edx, edi
mov edi, dword [esp + 0x24]
push 0
push 0
mov ecx, dword [edi]
call fcn.006083a0
mov edx, dword [esp + 0x30]
mov ecx, dword [edi]
push eax
call fcn.00608af0
add esp, 0xc
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edi, dword [ebp + 8]
mov eax, dword [esi + 8]
cmp eax, dword [edi + 0x30]
jne 0x5cd29f
test byte [esi + 0x12], 0x82
je 0x5cd29f
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
and ecx, dword [ebp + 0xc]
and eax, dword [ebp + 0x10]
or ecx, eax
jne 0x5cd29b
mov ecx, dword [esi + 0xc]
test ecx, ecx
js 0x5cd29b
mov eax, dword [edi + 0x10]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*8 + 0x15]
mov ecx, dword [esi]
mov byte [esp + 0xa], al
call fcn.006093c0
movsx eax, al
sub eax, 0x41
je 0x5cd176
sub eax, 1
je 0x5cd164
xor eax, eax
cmp byte [esp + 0xa], 0x43
setge al
jmp 0x5cd16e
xor eax, eax
cmp byte [esp + 0xa], 0x42
sete al
test eax, eax
je 0x5cd297
mov edx, dword [esi + 0xc]
xor edi, edi
cmp edx, 0x40
jl 0x5cd18a
mov dword [esp + 0x2c], accept
jmp 0x5cd1a3
mov eax, edx
xor ecx, ecx
bts edi, eax
cmp eax, 0x20
cmovae ecx, edi
xor edi, ecx
cmp eax, 0x40
cmovae ecx, edi
mov dword [esp + 0x2c], ecx
cmp byte [esp + 0xb], 0
jne 0x5cd1d0
lea ecx, [edx + edx*2]
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
push dword [edx]
push str.automatic_index_on__s__s_
push 0x11c
call fcn.0063c420
add esp, 0x10
mov byte [esp + 0xb], 1
mov eax, dword [esp + 0x2c]
mov ecx, edi
mov edx, dword [esp + 0x18]
and eax, edx
and ecx, dword [esp + 0x1c]
or ecx, eax
jne 0x5cd29b
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
mov ecx, dword [eax]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], ecx
movzx eax, word [eax + 0x2c]
cmp eax, edx
jge 0x5cd26e
lea eax, [edx + 7]
and eax, 0xfffffff8
mov dword [esp + 0x40], eax
shl eax, 2
push 0
push eax
call fcn.0063e290
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
je 0x5cdfe2
mov edx, dword [esp + 0xc]
movzx ecx, word [edx + 0x2c]
shl ecx, 2
push ecx
push dword [edx + 0x30]
push eax
call fcn.00587150
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [ecx + 0x30]
lea eax, [ecx + 0x38]
cmp edx, eax
je 0x5cd259
mov ecx, dword [esp + 0x50]
call fcn.0063e560
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x40]
mov word [ecx + 0x2c], ax
jmp 0x5cd272
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x30]
inc edx
mov ecx, dword [esp + 0x14]
inc dword [esp + 0x14]
or dword [esp + 0x1c], edi
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x18]
or edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], esi
mov dword [esp + 0x18], edx
jmp 0x5cd29b
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
add esi, 0x30
cmp esi, dword [esp + 0x48]
jb 0x5cd077
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
jmp 0x5cd2ba
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x14]
not edx
mov word [ecx + 0x28], ax
or edx, 0x80000000
mov word [ecx + 0x18], ax
not esi
mov eax, dword [ebp + 8]
mov dword [ecx + 0x24], 0x4241
and edx, dword [eax + 0x44]
mov ecx, dword [eax + 0x40]
and esi, ecx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], edx
mov edx, 0x3f
mov dword [esp + 0x1c], esi
xor esi, esi
mov dword [esp + 0x44], ecx
movzx eax, word [eax + 0x22]
mov dword [esp + 0x50], eax
cmp dx, ax
jge 0x5cd30c
mov dword [esp + 0x38], edx
jmp 0x5cd317
movsx edx, ax
mov dword [esp + 0x38], edx
test edx, edx
jle 0x5cd358
mov edi, dword [esp + 0x38]
nop dword [eax + eax]
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x1c]
and ecx, dword [esp + 0x18]
or edx, ecx
je 0x5cd347
inc dword [esp + 0x14]
inc esi
cmp esi, edi
jl 0x5cd320
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
mov edx, dword [ebp + 8]
cmp dword [edx + 0x44], 0
jg 0x5cd375
jl 0x5cd367
test ecx, ecx
jae 0x5cd375
mov ecx, dword [esp + 0x14]
cwde
add ecx, 0xffffffc1
add ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
inc eax
movzx eax, ax
mov dword [esp + 0x40], eax
cwde
lea ecx, [eax*4 + 7]
lea eax, [eax + eax*4]
and ecx, 0xfffffff8
add eax, 9
mov dword [esp + 0x44], ecx
and eax, 0xfffffff8
add ecx, 0x40
add eax, ecx
mov ecx, dword [esi]
cdq
push edx
push eax
mov dword [esp + 0x58], eax
call fcn.0063e290
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x5cdfe6
push dword [esp + 0x50]
push 0
push eax
call fcn.00586ff0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov esi, dword [esp + 0x40]
xorps xmm0, xmm0
movsx edx, si
movlpd qword [esp + 0x50], xmm0
lea ecx, [eax + 0x40]
mov dword [eax + 0x20], ecx
add ecx, dword [esp + 0x44]
mov dword [eax + 8], ecx
lea eax, [edx + 1]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], eax
lea eax, [eax + edx*2]
mov dword [ecx + 0x1c], eax
lea eax, [esi - 1]
mov word [ecx + 0x32], ax
mov eax, dword [esp + 0xc]
mov word [ecx + 0x34], si
xor esi, esi
mov dword [eax + 0x1c], ecx
mov eax, dword [esp + 0x30]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx], str.auto_index
mov edx, dword [eax + 0x14]
mov dword [esp + 0x2c], edx
cmp edx, dword [esp + 0x48]
jae 0x5cd5bb
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x24]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x3c], eax
nop
mov eax, dword [edx + 8]
cmp eax, dword [ecx + 0x30]
jne 0x5cd5a6
test byte [edx + 0x12], 0x82
je 0x5cd5a6
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + 0x24]
and ecx, dword [ebp + 0xc]
and eax, dword [ebp + 0x10]
or ecx, eax
jne 0x5cd5a3
mov ecx, dword [edx + 0xc]
test ecx, ecx
js 0x5cd5a3
mov eax, dword [ebp + 8]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*8 + 0x15]
mov ecx, dword [edx]
mov byte [esp + 0xb], al
call fcn.006093c0
movsx eax, al
sub eax, 0x41
je 0x5cd4cb
sub eax, 1
je 0x5cd4b9
xor eax, eax
cmp byte [esp + 0xb], 0x43
setge al
jmp 0x5cd4c3
xor eax, eax
cmp byte [esp + 0xb], 0x42
sete al
test eax, eax
je 0x5cd59f
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0xc]
cmp eax, 0x40
jl 0x5cd4e3
xor eax, eax
mov dword [esp + 0x40], accept
jmp 0x5cd508
mov dword [esp + 0x50], eax
xor ecx, ecx
mov edi, dword [esp + 0x50]
xor eax, eax
bts eax, edi
cmp edi, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edi, 0x40
mov edi, dword [esp + 0x24]
cmovae ecx, eax
mov dword [esp + 0x40], ecx
mov ecx, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x40]
and ecx, dword [esp + 0x3c]
and eax, dword [esp + 0x44]
or ecx, eax
jne 0x5cd5a3
mov eax, dword [esp + 0x3c]
or eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x10]
mov edx, dword [edx]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x44]
or eax, dword [esp + 0x40]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
mov ax, word [eax + 0xc]
mov word [ecx + esi*2], ax
mov eax, dword [edx + 0x10]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x50], eax
test dword [edx + 4], 0x100
jne 0x5cd582
test eax, eax
je 0x5cd573
test dword [eax + 4], 0x100
je 0x5cd573
mov edx, eax
jmp 0x5cd582
mov ecx, edi
call fcn.00609480
test eax, eax
jne 0x5cd592
mov edx, dword [esp + 0x50]
mov ecx, edi
call fcn.00609480
mov ecx, 0x6d2194
test eax, eax
je 0x5cd594
mov ecx, dword [eax]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
mov dword [eax + esi*4], ecx
inc esi
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebp + 8]
add edx, 0x30
mov dword [esp + 0x2c], edx
cmp edx, dword [esp + 0x48]
jb 0x5cd450
mov edi, dword [esp + 0x20]
cmp dword [esp + 0x38], 0
jle 0x5cd608
xor edi, edi
xor edx, edx
xor ecx, ecx
mov eax, edi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x1c]
and ecx, dword [esp + 0x18]
or edx, ecx
je 0x5cd5fd
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov word [eax + esi*2], di
mov eax, dword [ecx + 0x20]
mov dword [eax + esi*4], 0x6d219c
inc esi
inc edi
cmp edi, dword [esp + 0x38]
jl 0x5cd5c4
mov edi, dword [esp + 0x20]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x44], 0
jg 0x5cd651
jl 0x5cd619
cmp dword [eax + 0x40], 0
jae 0x5cd651
mov eax, dword [esp + 0x30]
mov ecx, 0x3f
mov edx, dword [esp + 0x10]
cmp cx, word [eax + 0x22]
jge 0x5cd655
mov edi, eax
nop
mov eax, dword [edx + 4]
mov word [eax + esi*2], cx
inc ecx
mov eax, dword [edx + 0x20]
mov dword [eax + esi*4], 0x6d21a4
inc esi
movsx eax, word [edi + 0x22]
cmp ecx, eax
jl 0x5cd630
mov edi, dword [esp + 0x20]
jmp 0x5cd655
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
or ecx, 0xffffffff
mov word [eax + esi*2], cx
mov eax, dword [edx + 0x20]
mov ecx, dword [ebp + 0x14]
mov dword [eax + esi*4], 0x6d21ac
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0x44]
mov dword [ecx + 8], eax
inc dword [esi + 0x44]
mov eax, dword [ecx + 8]
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x44], eax
mov dword [esp + 0x50], ecx
cmp dword [ecx + 0x54], eax
jg 0x5cd710
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x5cd69e
add eax, eax
jmp 0x5cd6a3
mov eax, 0x33
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
shl eax, 2
push 0
push eax
call fcn.0063e1b0
add esp, 8
mov dword [esp + 0x48], eax
test eax, eax
je 0x5cd745
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
test ecx, ecx
je 0x5cd6e8
cmp eax, dword [ecx + 0x114]
jb 0x5cd6e8
cmp eax, dword [ecx + 0x118]
jae 0x5cd6e8
movzx ecx, word [ecx + 0xf8]
jmp 0x5cd6f4
push eax
call dword [0x6d3498]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x50]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x48]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x44]
inc dword [edi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov word [eax + ecx*4], 0x38
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x40]
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [ecx + 8], eax
mov eax, dword [esi + 8]
mov ecx, esi
mov edx, dword [esp + 0x10]
mov dword [esp + 0x50], eax
call fcn.005f7ea0
mov edx, dword [esp + 0x50]
mov dword [esp + 0x44], eax
mov edi, dword [edx + 4]
test edi, edi
mov ecx, dword [edx]
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x20]
je 0x5cd7c1
cmp byte [ecx + 0x41], 0
jne 0x5cd7c1
mov edx, dword [edx + 0x20]
dec edx
lea eax, [edx + edx*4]
mov edx, dword [esp + 0x50]
lea edx, [edx + eax*4]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x50]
push dword [edx + eax*4 + 0x10]
movsx edx, byte [edx + eax*4 + 1]
call fcn.0061cac0
mov eax, dword [esp + 0x4c]
add esp, 4
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x10], 0
test ecx, ecx
jne 0x5cd7b8
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
jmp 0x5cd7cf
mov dword [eax + 0x10], ecx
mov byte [eax + 1], 0xfa
jmp 0x5cd7cf
push eax
mov edx, 0xfffffffa
call fcn.0061cac0
add esp, 4
mov edx, dword [ebp + 0x14]
inc dword [esi + 0x64]
movzx eax, byte [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x4c]
shl ecx, 4
mov eax, dword [eax]
mov eax, dword [eax + 4]
add eax, 8
add ecx, eax
mov dword [esp + 0x48], ecx
test byte [ecx + 0x28], 0x10
je 0x5cd97e
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 0x18]
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], ecx
cmp dword [ecx + 0x54], eax
jg 0x5cd899
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x5cd827
add eax, eax
jmp 0x5cd82c
mov eax, 0x33
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
shl eax, 2
push 0
push eax
call fcn.0063e1b0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
je 0x5cd8cd
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
test ecx, ecx
je 0x5cd871
cmp eax, dword [ecx + 0x114]
jb 0x5cd871
cmp eax, dword [ecx + 0x118]
jae 0x5cd871
movzx ecx, word [ecx + 0xf8]
jmp 0x5cd87d
push eax
call dword [0x6d3498]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x50]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x40]
inc dword [edi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x3c]
mov word [eax + ecx*4], 0x11
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x20]
mov dword [esp + 0x14], edx
mov dword [esp + 0x50], ecx
cmp dword [ecx + 0x54], edx
jg 0x5cd959
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x5cd8eb
add eax, eax
jmp 0x5cd8f0
mov eax, 0x33
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
shl eax, 2
push 0
push eax
call fcn.0063e1b0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
je 0x5cd971
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
test ecx, ecx
je 0x5cd931
cmp eax, dword [ecx + 0x114]
jb 0x5cd931
cmp eax, dword [ecx + 0x118]
jae 0x5cd931
movzx ecx, word [ecx + 0xf8]
jmp 0x5cd93d
push eax
call dword [0x6d3498]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x50]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
mov dword [edi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [edx + edx*4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x4c]
mov word [eax + ecx*4], 0x14
jmp 0x5cda24
mov dword [esp + 0x14], 1
jmp 0x5cda45
mov ecx, dword [edi + 0x18]
mov eax, dword [edx + 4]
mov edx, dword [edi + 0x20]
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x50], ecx
cmp dword [ecx + 0x54], edx
jg 0x5cda11
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x5cd9a3
add eax, eax
jmp 0x5cd9a8
mov eax, 0x33
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
shl eax, 2
push 0
push eax
call fcn.0063e1b0
add esp, 8
mov dword [esp + 0x4c], eax
test eax, eax
je 0x5cd971
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
test ecx, ecx
je 0x5cd9e9
cmp eax, dword [ecx + 0x114]
jb 0x5cd9e9
cmp eax, dword [ecx + 0x118]
jae 0x5cd9e9
movzx ecx, word [ecx + 0xf8]
jmp 0x5cd9f5
push eax
call dword [0x6d3498]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x50]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
mov dword [edi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [edx + edx*4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x6d
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 4], edx
mov byte [eax + ecx*4 + 3], 0
cmp dword [esp + 0x28], 0
je 0x5cdb8b
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x44], ecx
mov edx, dword [ecx + 0x6c]
mov dword [esp + 0x34], edx
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
lea eax, [edx - 1]
test edx, eax
jne 0x5cdb5b
mov eax, dword [esp + 0x34]
mov edx, dword [ecx + 0x70]
mov ecx, dword [ecx]
push 0
lea eax, [eax*8 + 4]
mov dword [esp + 0x50], edx
push eax
mov dword [esp + 0x58], ecx
call fcn.0063e1b0
mov ecx, eax
add esp, 8
mov dword [esp + 0x40], ecx
test ecx, ecx
jne 0x5cdb4c
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x5cdb4c
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x5cdaec
cmp dword [ecx + 0x208], eax
je 0x5cdac6
call fcn.0063e5b0
jmp 0x5cdb4c
cmp edx, dword [ecx + 0x114]
jb 0x5cdaec
cmp edx, dword [ecx + 0x118]
jae 0x5cdaec
mov eax, dword [ecx + 0x110]
mov dword [edx], eax
dec dword [ecx + 0xfc]
mov dword [ecx + 0x110], edx
jmp 0x5cdb4c
cmp dword [0x6d3468], 0
je 0x5cdb42
mov eax, dword [0x6e87d0]
test eax, eax
je 0x5cdb0c
push eax
call dword [0x6d34bc]
mov edx, dword [esp + 0x50]
add esp, 4
push edx
call dword [0x6d3498]
mov edx, dword [esp + 0x50]
add esp, 4
sub dword [0x6e87f8], eax
dec dword [0x6e881c]
push edx
call dword [0x6d3490]
mov eax, dword [0x6e87d0]
add esp, 4
test eax, eax
je 0x5cdb4c
push eax
call dword [0x6d34c4]
jmp 0x5cdb49
push edx
call dword [0x6d3490]
add esp, 4
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov dword [ecx + 0x70], eax
mov eax, dword [ecx + 0x70]
test eax, eax
je 0x5cdb69
mov dword [eax + edx*4], 0xffffffff
not edx
mov ecx, esi
push 0x10
mov dword [esp + 0x38], edx
push edx
mov edx, dword [esp + 0x30]
call fcn.006037b0
mov eax, dword [esp + 0x14]
add esp, 8
or dword [eax + 0x24], 0x20000
mov al, byte [esi + 0x13]
test al, al
jne 0x5cdb9a
inc dword [esi + 0x48]
mov eax, dword [esi + 0x48]
jmp 0x5cdba6
dec al
mov byte [esi + 0x13], al
movzx eax, al
mov eax, dword [esi + eax*4 + 0x18]
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x10]
push 0
push 0
push 0
push 0
push eax
push dword [ecx + 4]
mov ecx, esi
mov dword [esp + 0x64], eax
call fcn.005f5a00
mov eax, dword [ebp + 0x14]
add esp, 0x18
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x50], ecx
mov eax, dword [eax + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x40], eax
cmp dword [ecx + 0x54], eax
jg 0x5cdc61
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x5cdbef
add eax, eax
jmp 0x5cdbf4
mov eax, 0x33
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
shl eax, 2
push 0
push eax
call fcn.0063e1b0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
je 0x5cdc95
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
test ecx, ecx
je 0x5cdc39
cmp eax, dword [ecx + 0x114]
jb 0x5cdc39
cmp eax, dword [ecx + 0x118]
jae 0x5cdc39
movzx ecx, word [ecx + 0xf8]
jmp 0x5cdc45
push eax
call dword [0x6d3498]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x50]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x40]
inc dword [edi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x4c]
mov word [eax + ecx*4], 0x6f
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
mov ecx, dword [edi + 0x20]
dec ecx
cmp byte [eax + 0x41], 0
je 0x5cdca8
mov eax, 0x6e8b5c
jmp 0x5cdcb1
mov eax, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
cmp dword [esp + 0x28], 0
mov byte [eax + 3], 0x10
je 0x5cdcdf
mov edx, dword [edi + 0x18]
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x5cdcd8
mov eax, dword [esp + 0x34]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [edi + 0x20]
mov dword [ecx], eax
mov eax, dword [edi + 0x20]
dec eax
mov dword [edx + 0x58], eax
mov eax, dword [esp + 0x48]
test byte [eax + 0x28], 0x10
je 0x5cddee
push dword [eax + 0x20]
mov eax, dword [ebp + 0x14]
mov ecx, edi
mov edx, dword [esp + 0x18]
push dword [eax + 4]
call fcn.005ce050
mov ecx, dword [edi + 0x18]
add esp, 8
mov eax, dword [edi + 0x20]
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], ecx
cmp dword [ecx + 0x54], eax
jg 0x5cdd94
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x5cdd22
add eax, eax
jmp 0x5cdd27
mov eax, 0x33
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
shl eax, 2
push 0
push eax
call fcn.0063e1b0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
je 0x5cddc8
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
test ecx, ecx
je 0x5cdd6c
cmp eax, dword [ecx + 0x114]
jb 0x5cdd6c
cmp eax, dword [ecx + 0x118]
jae 0x5cdd6c
movzx ecx, word [ecx + 0xf8]
jmp 0x5cdd78
push eax
call dword [0x6d3498]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x50]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x40]
inc dword [edi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x14]
mov word [eax + ecx*4], 0xe
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x48]
and dword [eax + 0x28], 0xffffffef
mov edx, dword [esp + 0x14]
mov eax, dword [edi]
mov ecx, dword [edi + 0x20]
dec ecx
cmp byte [eax + 0x41], 0
je 0x5cdebf
mov eax, 0x6e8b5c
jmp 0x5cdec8
mov eax, dword [ebp + 0x14]
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x50], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x44], eax
cmp dword [ecx + 0x54], eax
jg 0x5cde84
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x5cde16
add eax, eax
jmp 0x5cde1b
mov eax, 0x33
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
shl eax, 2
push 0
push eax
call fcn.0063e1b0
add esp, 8
mov dword [esp + 0x48], eax
test eax, eax
je 0x5cddd0
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
test ecx, ecx
je 0x5cde5c
cmp eax, dword [ecx + 0x114]
jb 0x5cde5c
cmp eax, dword [ecx + 0x118]
jae 0x5cde5c
movzx ecx, word [ecx + 0xf8]
jmp 0x5cde68
push eax
call dword [0x6d3498]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x50]
shr edx, 4
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x48]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x44]
inc dword [edi + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x14]
mov word [eax + ecx*4], 8
mov byte [eax + ecx*4 + 3], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x40]
mov dword [ecx + 0xc], 0
mov dword [ecx + 4], eax
lea eax, [edx + 1]
mov dword [ecx + 8], eax
mov dword [ecx + 0x10], 0
jmp 0x5cddd4
mov eax, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov byte [eax + 3], 3
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [edi + 0x20]
mov dword [esp + 0x50], eax
test edx, edx
jns 0x5cdee4
lea edx, [eax - 1]
mov eax, dword [edi]
cmp byte [eax + 0x41], 0
je 0x5cdef3
mov eax, 0x6e8b5c
jmp 0x5cdefc
mov eax, dword [edi + 4]
lea ecx, [edx + edx*4]
lea eax, [eax + ecx*4]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov dword [eax + 8], ecx
test edx, edx
je 0x5cdf40
mov al, byte [esi + 0x13]
mov byte [esp + 0xb], al
cmp al, 8
jae 0x5cdf40
xor ecx, ecx
lea eax, [esi + 0x74]
nop dword [eax + eax]
cmp dword [eax + 0xc], edx
je 0x5cdf3c
inc ecx
add eax, 0x14
cmp ecx, 0xa
jl 0x5cdf20
movzx eax, byte [esp + 0xb]
mov dword [esi + eax*4 + 0x18], edx
inc byte [esi + 0x13]
jmp 0x5cdf40
mov byte [eax + 6], 1
dec dword [esi + 0x64]
lea ecx, [esi + 0x80]
mov edi, 0xa
nop
mov edx, dword [ecx]
test edx, edx
je 0x5cdf7f
mov eax, dword [ecx - 4]
cmp eax, dword [esi + 0x64]
jle 0x5cdf7f
cmp byte [ecx - 6], 0
je 0x5cdf79
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x5cdf75
movzx eax, al
mov dword [esi + eax*4 + 0x18], edx
inc byte [esi + 0x13]
mov byte [ecx - 6], 0
mov dword [ecx], 0
add ecx, 0x14
sub edi, 1
jne 0x5cdf50
mov edi, dword [esp + 0x20]
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
dec ecx
mov dword [eax + 0x58], ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [edi + 0x20]
test ecx, ecx
jns 0x5cdfa3
lea ecx, [edx - 1]
mov eax, dword [edi]
cmp byte [eax + 0x41], 0
je 0x5cdfc4
mov eax, 0x6e8b5c
mov dword [eax + 8], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [esi]
call fcn.006086f0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 4]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x28]
lea eax, [eax + ecx*4]
mov ecx, dword [esi]
call fcn.006086f0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ecx, dword [esi]
call fcn.006086f0
pop edi
pop esi
mov esp, ebp
pop ebp
ret