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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2b4
mov eax, dword [0x773b90]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0x20]
mov dword [ebp - 0x260], eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [ebp - 0x248], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x28c], ecx
push 0x47554244
lea ecx, [ebp - 0x258]
mov dword [ebp - 0x244], esi
mov dword [ebp - 0x278], eax
call fcn.0061a207
push 0xa
pop ecx
xor ebx, ebx
push 0x28
xor eax, eax
lea edi, [ebp - 0x2b4]
rep stosd dword es:[edi], eax
pop eax
xor edx, edx
inc edx
push ebx
push edx
push eax
mov dword [ebp - 0x2b4], eax
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x258]
mov dword [ebp - 0x240], ebx
mov dword [ebp - 0x26c], ebx
mov dword [ebp - 0x25c], ebx
mov dword [ebp - 0x268], ebx
mov dword [ebp - 0x270], ebx
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x23c], ebx
mov word [ebp - 0x288], dx
mov word [ebp - 0x286], 3
mov word [ebp - 0x284], dx
mov word [ebp - 0x282], 4
mov word [ebp - 0x280], dx
mov word [ebp - 0x27e], bx
mov dword [ebp - 0x27c], ebx
call fcn.0061a266
mov edi, eax
cmp edi, ebx
jl 0x68bffd
xor eax, eax
cmp dword [ebp + 0x18], ebx
jbe 0x68b01f
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + eax*4], ebx
je 0x68b019
inc dword [ebp - 0x240]
inc eax
cmp eax, dword [ebp + 0x18]
jb 0x68b00b
xor eax, eax
xor ebx, ebx
cmp dword [ebp + 0xc], eax
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x214], ebx
mov dword [ebp - 0x224], eax
jbe 0x68b0bf
mov ecx, dword [ebp - 0x260]
lea eax, [ecx + eax*4]
mov edi, dword [eax]
mov edx, dword [edi + 0x18]
test edx, edx
je 0x68b0ad
mov edx, dword [edx + 0x1c]
mov ecx, edi
mov eax, dword [ecx + 0x18]
mov ebx, dword [eax + 0xc]
add dword [ebp - 0x230], ebx
mov ebx, dword [eax + 0x1c]
add ebx, dword [ecx + 0x3c]
add ebx, dword [ecx + 0x34]
mov ecx, dword [eax + 0x20]
add dword [ebp - 0x208], ebx
mov ebx, dword [ebp - 0x214]
add ecx, eax
test edx, edx
jbe 0x68b08c
add ecx, 0xc
add ebx, dword [ecx]
add ecx, 0x14
dec edx
jne 0x68b084
mov ecx, dword [edi + 0x34]
test ecx, ecx
jbe 0x68b0a4
mov eax, dword [edi + 0x84]
add eax, 4
add ebx, dword [eax]
add eax, 8
dec ecx
jne 0x68b09c
add ebx, dword [edi + 0x3c]
mov dword [ebp - 0x214], ebx
mov eax, dword [ebp - 0x224]
inc eax
cmp eax, dword [ebp + 0xc]
mov dword [ebp - 0x224], eax
jb 0x68b040
mov eax, dword [ebp + 0x1c]
add dword [ebp - 0x240], eax
mov eax, dword [ebp - 0x240]
xor ecx, ecx
push 8
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
mov dword [ebp - 0x26c], eax
jne 0x68b0f7
mov edi, 0x8007000e
jmp 0x68bffd
mov eax, dword [ebp - 0x230]
test eax, eax
mov dword [ebp - 0x2a8], eax
jbe 0x68b2e0
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x230]
xor ecx, ecx
push 0xc
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x230]
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov dword [ebp - 0x274], eax
xor eax, eax
add esp, 0xc
cmp dword [ebp - 0x25c], eax
je 0x68b0ed
cmp dword [ebp - 0x23c], eax
je 0x68b0ed
cmp dword [ebp - 0x274], eax
je 0x68b0ed
cmp dword [ebp + 0xc], eax
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x224], eax
jbe 0x68b22b
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x21c], eax
jmp 0x68b1b7
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax]
mov edi, dword [ecx + 0x18]
mov eax, dword [eax]
mov edx, dword [edi + 0x10]
mov eax, dword [eax + 0x18]
xor ecx, ecx
add edx, edi
cmp dword [eax + 0xc], ecx
jbe 0x68b213
mov eax, dword [ebp - 0x20c]
mov ebx, dword [ebp - 0x23c]
imul eax, eax, 0xc
lea eax, [eax + ebx + 4]
mov ebx, dword [edx + ecx*4]
add ebx, edi
inc dword [ebp - 0x20c]
mov dword [eax - 4], ebx
mov ebx, dword [ebp - 0x224]
mov dword [eax + 4], ebx
mov ebx, dword [ebp - 0x21c]
mov dword [eax], ecx
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x18]
add eax, 0xc
inc ecx
cmp ecx, dword [ebx + 0xc]
jb 0x68b1e0
mov ebx, dword [ebp - 0x214]
inc dword [ebp - 0x224]
mov eax, dword [ebp - 0x224]
add dword [ebp - 0x21c], 4
cmp eax, dword [ebp + 0xc]
jb 0x68b1b1
mov edi, dword [ebp - 0x23c]
push 0x689519
push 0xc
push dword [ebp - 0x230]
push edi
call sub.msvcrt.dll_qsort
and dword [ebp - 0x220], 0
add esp, 0x10
cmp dword [ebp - 0x230], 0
jbe 0x68b2b2
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x228], edi
mov dword [ebp - 0x20c], eax
push dword [ebp - 0x20c]
mov eax, dword [ebp - 0x228]
push 7
push 0xffffffffffffffff
push dword [eax]
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
inc dword [ebp - 0x220]
mov eax, dword [ebp - 0x220]
add dword [ebp - 0x20c], 4
add dword [ebp - 0x228], 0xc
cmp eax, dword [ebp - 0x230]
jb 0x68b269
lea eax, [ebp - 0x2a4]
push eax
mov eax, dword [ebp - 0x230]
push 1
shl eax, 2
push eax
push dword [ebp - 0x25c]
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
xor ecx, ecx
cmp dword [ebp - 0x208], ecx
jbe 0x68bc9a
cmp ebx, ecx
jbe 0x68bc9a
mov eax, dword [ebp + 0x1c]
add dword [ebp - 0x208], eax
add ebx, eax
mov eax, dword [esi + 0xac]
cmp eax, ecx
jbe 0x68b323
mov edx, dword [esi + 0xb4]
cmp byte [edx + ecx], 0
jne 0x68b31e
inc dword [ebp - 0x208]
inc ebx
inc ecx
cmp ecx, eax
jb 0x68b311
mov eax, dword [ebp - 0x208]
xor ecx, ecx
push 0x14
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov dword [ebp - 0x268], eax
xor ecx, ecx
push 0xc
pop edx
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp dword [ebp - 0x268], 0
pop ecx
pop ecx
mov dword [ebp - 0x270], eax
je 0x68b0ed
test eax, eax
je 0x68b0ed
mov eax, dword [ebp - 0x208]
mov ebx, dword [ebp - 0x268]
imul eax, eax, 0x14
push eax
xor edi, edi
push edi
push ebx
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x270]
add esp, 0xc
cmp dword [esi + 0xac], edi
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x210], edi
jbe 0x68b55f
lea eax, [ebx + 4]
mov dword [ebp - 0x21c], eax
lea eax, [ebx - 0x14]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x210]
mov dword [eax], ecx
mov edx, dword [0x41e87c]
mov dword [eax + 4], edx
mov edx, dword [0x41e880]
mov dword [eax + 8], edx
inc dword [ebx + 0xc]
and dword [ebx], 0
mov dword [ebp - 0x220], eax
add eax, 0xc
mov dword [ebp - 0x22c], eax
mov eax, dword [esi + 0xb4]
movzx eax, byte [eax + ecx]
push eax
mov eax, dword [esi + 0xb0]
movzx eax, byte [eax + ecx]
push eax
call fcn.006124f1
push eax
push 0x41c894
lea eax, [ebp - 0x204]
push 0x200
push eax
call fcn.00468e10
add esp, 0x14
push dword [ebp - 0x21c]
lea eax, [ebp - 0x204]
push 6
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
lea eax, [ebx + 0x10]
push eax
mov eax, dword [ebx + 0xc]
imul eax, eax, 0xc
push 1
push eax
push dword [ebp - 0x220]
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
lea eax, [ebx + 8]
push eax
push 7
push 0x10
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
mov eax, dword [esi + 0xb4]
mov ecx, dword [ebp - 0x210]
add dword [ebp - 0x214], 0x14
add dword [ebp - 0x21c], 0x14
add ebx, 0x14
cmp byte [ecx + eax], 0
jne 0x68b545
mov esi, dword [ebp - 0x214]
mov eax, dword [ebp - 0x244]
push 5
pop ecx
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0xb0]
mov ecx, dword [ebp - 0x210]
movzx eax, byte [eax + ecx]
push eax
call fcn.006124f1
push eax
push 0x41ee90
lea eax, [ebp - 0x204]
push 0x200
push eax
call fcn.00468e10
add esp, 0x10
push dword [ebp - 0x21c]
lea eax, [ebp - 0x204]
push 6
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
add dword [ebp - 0x214], 0x14
mov esi, dword [ebp - 0x244]
add ebx, 0x14
add dword [ebp - 0x21c], 0x14
inc dword [ebp - 0x210]
mov eax, dword [ebp - 0x210]
cmp eax, dword [esi + 0xac]
jb 0x68b3c2
xor edi, edi
cmp dword [esi + 0x144], edi
jne 0x68b5a3
push 7
pop eax
cmp byte [esi + eax + 0xbc], 0
je 0x68b580
dec dword [ebp - 0x208]
inc dword [ebp - 0x210]
dec eax
jns 0x68b56a
mov eax, dword [esi + 0xb8]
xor ecx, ecx
inc ecx
cmp byte [eax + ecx], 0
je 0x68b59e
dec dword [ebp - 0x208]
inc dword [ebp - 0x210]
dec ecx
jns 0x68b58c
jmp 0x68b5b5
mov eax, dword [esi + 0xa8]
sub dword [ebp - 0x208], eax
add dword [ebp - 0x210], eax
cmp dword [esi + 0xfc], edi
mov dword [ebp - 0x218], edi
jbe 0x68b748
mov eax, dword [ebp - 0x22c]
add eax, 4
mov dword [ebp - 0x214], edi
mov dword [ebp - 0x20c], eax
mov eax, dword [esi + 0xf8]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x214]
lea ecx, [eax + ecx*8]
mov eax, dword [esi + 0xf4]
add eax, edx
cmp dword [eax + 4], 0xffff
je 0x68b729
mov eax, dword [eax]
mov edx, 0x45b9d4
mov dx, word [edx]
cmp dx, word [eax]
jne 0x68b626
dec dword [ebp - 0x208]
inc dword [ebp - 0x210]
jmp 0x68b729
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
imul edx, edx, 0x14
test byte [edx + ecx + 0xa], 1
je 0x68b729
push 3
mov edi, eax
pop ecx
mov esi, 0x41ee8c
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x68b654
dec dword [ebp - 0x208]
jmp 0x68b71b
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x210]
mov dword [ecx], eax
mov edx, dword [0x41e87c]
mov eax, dword [ebp - 0x20c]
mov dword [eax], edx
mov edx, dword [0x41e880]
mov dword [eax + 4], edx
inc dword [ebx + 0xc]
and dword [ebx], 0
add eax, 0xc
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x220], ecx
add ecx, 0xc
lea esi, [ebx + 0x10]
lea eax, [esi - 0xc]
push eax
mov eax, dword [ebp - 0x244]
mov eax, dword [eax + 0xf4]
mov dword [ebp - 0x22c], ecx
mov ecx, dword [ebp - 0x214]
mov eax, dword [eax + ecx]
push 7
inc eax
push 0xffffffffffffffff
inc eax
push eax
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
mov eax, dword [ebx + 0xc]
imul eax, eax, 0xc
push esi
push 1
push eax
push dword [ebp - 0x220]
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
lea eax, [ebx + 8]
push eax
push 7
push 0x10
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
add ebx, 0x14
inc dword [ebp - 0x210]
mov esi, dword [ebp - 0x244]
xor edi, edi
inc dword [ebp - 0x218]
mov eax, dword [ebp - 0x218]
add dword [ebp - 0x214], 0x10
cmp eax, dword [esi + 0xfc]
jb 0x68b5dc
cmp dword [ebp + 0xc], edi
mov dword [ebp - 0x20c], edi
mov dword [ebp - 0x224], edi
jbe 0x68bc64
mov ecx, dword [ebp - 0x260]
mov dword [ebp - 0x234], ecx
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
cmp edx, edi
mov dword [ebp - 0x214], edx
je 0x68bc46
cmp dword [eax + 0x3c], edi
mov dword [ebp - 0x218], edi
jbe 0x68b90a
mov eax, dword [ebp - 0x22c]
add eax, 4
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x234]
mov eax, dword [eax]
mov ecx, dword [eax + 0x38]
add ecx, dword [ebp - 0x218]
mov edx, dword [eax + 0x8c]
imul ecx, ecx, 0x14
movzx edi, word [ecx + edx + 6]
mov ecx, dword [eax + 0x64]
mov eax, dword [eax + 0x68]
mov al, byte [edi + eax]
mov cl, byte [edi + ecx]
mov edi, dword [esi + 0xac]
mov byte [ebp - 0x236], al
xor eax, eax
test edi, edi
mov byte [ebp - 0x235], cl
jbe 0x68b804
mov ecx, dword [esi + 0xb0]
mov dl, byte [ebp - 0x235]
cmp dl, byte [ecx + eax]
jne 0x68b7ff
mov ecx, dword [esi + 0xb4]
mov dl, byte [ebp - 0x236]
cmp dl, byte [eax + ecx]
je 0x68b804
inc eax
cmp eax, edi
jb 0x68b7dd
cmp eax, edi
jae 0x68b8e7
mov ecx, dword [ebp - 0x22c]
mov dword [ecx], eax
mov edx, dword [0x41e87c]
mov eax, dword [ebp - 0x228]
mov dword [eax], edx
mov edx, dword [0x41e880]
mov dword [eax + 4], edx
inc dword [ebx + 0xc]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x220], ecx
add ecx, 0xc
add eax, 0xc
test edx, edx
mov dword [ebp - 0x22c], ecx
mov dword [ebp - 0x228], eax
jbe 0x68b8e7
and dword [ebx], 0
mov eax, dword [ebp - 0x234]
mov eax, dword [eax]
mov ecx, dword [eax + 0x8c]
mov eax, dword [eax + 0x38]
add eax, dword [ebp - 0x218]
imul eax, eax, 0x14
mov eax, dword [eax + ecx]
lea ecx, [eax + ecx - 0x14]
lea eax, [ebx + 4]
push eax
push 7
add ecx, 2
push 0xffffffffffffffff
push ecx
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
lea eax, [ebx + 0x10]
push eax
mov eax, dword [ebx + 0xc]
imul eax, eax, 0xc
push 1
push eax
push dword [ebp - 0x220]
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
lea eax, [ebx + 8]
push eax
push 7
push 0x10
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
add ebx, 0x14
jmp 0x68b8ed
dec dword [ebp - 0x208]
inc dword [ebp - 0x218]
mov eax, dword [ebp - 0x234]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x218]
cmp ecx, dword [eax + 0x3c]
jb 0x68b79a
mov ecx, dword [ebp - 0x234]
mov ecx, dword [ecx]
xor eax, eax
cmp dword [ecx + 0x34], eax
mov dword [ebp - 0x218], eax
jbe 0x68baaa
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x234]
mov eax, dword [eax]
mov edx, dword [eax + 0x78]
mov esi, dword [ebp - 0x228]
mov edi, dword [edx + esi]
push 3
pop ecx
mov esi, 0x41ee88
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x68ba80
mov ecx, dword [ebp - 0x218]
mov eax, dword [eax + 0x84]
mov edx, dword [ebp - 0x22c]
and dword [ebp - 0x21c], 0
shl ecx, 3
add eax, ecx
cmp dword [eax + 4], 0
mov esi, dword [eax]
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x264], ecx
jbe 0x68b9f0
lea ecx, [edx + 4]
mov eax, esi
jmp 0x68b98e
mov edx, dword [ebp - 0x22c]
mov edi, dword [ebp - 0x20c]
mov esi, dword [eax]
add esi, edi
mov edi, dword [ebp + 0x14]
cmp dword [edi + esi*4], 0
je 0x68b9c7
mov esi, dword [eax]
mov edi, dword [ebp - 0x210]
add esi, edi
mov dword [edx], esi
mov esi, dword [eax + 4]
mov dword [ecx], esi
mov esi, dword [eax + 8]
mov dword [ecx + 4], esi
inc dword [ebx + 0xc]
add edx, 0xc
mov dword [ebp - 0x22c], edx
add ecx, 0xc
mov edx, dword [ebp - 0x234]
inc dword [ebp - 0x21c]
mov edx, dword [edx]
mov edx, dword [edx + 0x84]
mov esi, dword [ebp - 0x264]
mov edi, dword [ebp - 0x21c]
add eax, 0xc
cmp edi, dword [edx + esi + 4]
jb 0x68b988
cmp dword [ebx + 0xc], 0
jbe 0x68ba80
and dword [ebx], 0
mov eax, dword [ebp - 0x234]
mov eax, dword [eax]
mov eax, dword [eax + 0x78]
mov ecx, dword [ebp - 0x228]
mov eax, dword [ecx + eax]
lea esi, [ebx + 0x10]
lea ecx, [esi - 0xc]
push ecx
push 7
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
mov eax, dword [ebx + 0xc]
imul eax, eax, 0xc
push esi
push 1
push eax
push dword [ebp - 0x220]
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
lea eax, [ebx + 8]
push eax
push 7
push 0x10
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
add ebx, 0x14
jmp 0x68ba86
dec dword [ebp - 0x208]
inc dword [ebp - 0x218]
mov eax, dword [ebp - 0x234]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x218]
add dword [ebp - 0x228], 0x10
cmp ecx, dword [eax + 0x34]
jb 0x68b929
mov ecx, dword [ebp - 0x234]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
add eax, dword [ebp - 0x214]
xor edi, edi
cmp edx, edi
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x218], edi
jbe 0x68bc2c
lea esi, [eax + 0xc]
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x22c]
add eax, dword [ebp - 0x214]
cmp dword [esi], edi
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x21c], edi
jbe 0x68bb4e
add ecx, 4
mov edi, dword [ebp - 0x20c]
mov edx, dword [eax]
add edx, edi
mov edi, dword [ebp + 0x14]
cmp dword [edi + edx*4], 0
je 0x68bb39
mov edx, dword [eax]
mov edi, dword [ebp - 0x210]
add edx, edi
mov edi, dword [ebp - 0x22c]
add dword [ebp - 0x22c], 0xc
mov dword [edi], edx
mov edx, dword [eax + 4]
mov dword [ecx], edx
mov edx, dword [eax + 8]
mov dword [ecx + 4], edx
inc dword [ebx + 0xc]
add ecx, 0xc
inc dword [ebp - 0x21c]
mov edx, dword [ebp - 0x21c]
add eax, 0xc
cmp edx, dword [esi]
jb 0x68bafc
xor edi, edi
cmp dword [ebx + 0xc], edi
jbe 0x68bc03
mov eax, dword [esi - 0xc]
cmp eax, edi
je 0x68bb83
mov ecx, dword [ebp - 0x214]
push ebx
push 7
add eax, ecx
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
jmp 0x68bb85
mov dword [ebx], edi
mov eax, dword [esi - 8]
add eax, dword [ebp - 0x214]
lea ecx, [ebx + 4]
push ecx
push 7
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
lea eax, [ebx + 0x10]
push eax
mov eax, dword [ebx + 0xc]
imul eax, eax, 0xc
push 1
push eax
push dword [ebp - 0x220]
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
mov eax, dword [esi - 4]
add eax, dword [ebp - 0x214]
lea ecx, [ebx + 8]
push ecx
push eax
push dword [ebp - 0x214]
lea eax, [ebp - 0x258]
push eax
call fcn.00685a04
mov edi, eax
test edi, edi
jl 0x68bffd
add ebx, 0x14
jmp 0x68bc09
dec dword [ebp - 0x208]
inc dword [ebp - 0x218]
mov eax, dword [ebp - 0x218]
add esi, 0x14
xor edi, edi
cmp eax, dword [ebp - 0x264]
jb 0x68bada
mov ecx, dword [ebp - 0x234]
mov eax, dword [ecx]
mov eax, dword [eax + 0x9c]
add dword [ebp - 0x210], eax
add dword [ebp - 0x20c], eax
mov esi, dword [ebp - 0x244]
inc dword [ebp - 0x224]
mov eax, dword [ebp - 0x224]
add ecx, 4
cmp eax, dword [ebp + 0xc]
mov dword [ebp - 0x234], ecx
jb 0x68b769
mov esi, dword [ebp - 0x208]
lea eax, [ebp - 0x294]
push eax
mov eax, esi
imul eax, eax, 0x14
push 1
push eax
push dword [ebp - 0x268]
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
mov dword [ebp - 0x298], esi
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x248]
mov edx, dword [ebp + 0x1c]
add ecx, 4
test edx, edx
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x26c]
jbe 0x68bd44
mov edi, dword [ebp - 0x278]
mov dword [ebp - 0x228], edx
or word [eax + 2], 0xffff
and word [eax], 0
mov ebx, 0xffff
mov edx, dword [ecx]
test edx, edx
js 0x68bd10
mov esi, edx
and esi, ebx
cmp esi, ebx
je 0x68bd28
cmp esi, 0xfffe
jne 0x68bcfc
shr edx, 0x10
and edx, 0x7fff
lea ecx, [ecx + edx*4]
jmp 0x68bd10
cmp esi, 0x51
je 0x68bd23
cmp esi, 0x30
je 0x68bd23
cmp esi, 0x2f
je 0x68bd15
cmp esi, 0x1f
je 0x68bd1c
add ecx, 4
jmp 0x68bcd8
mov edi, ecx
add ecx, 0xc
jmp 0x68bd28
mov edi, ecx
add ecx, 4
jmp 0x68bd28
mov edi, ecx
add ecx, 0x18
mov edx, edi
sub edx, dword [ebp - 0x248]
add eax, 8
sar edx, 2
shl edx, 2
dec dword [ebp - 0x228]
mov dword [eax - 4], edx
jne 0x68bcc9
and dword [ebp - 0x224], 0
cmp dword [ebp + 0xc], 0
jbe 0x68be93
mov edx, dword [ebp - 0x278]
mov ebx, dword [ebp - 0x274]
mov esi, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x260]
lea ecx, [ecx + esi*4]
mov esi, dword [ecx]
mov esi, dword [esi + 0x18]
test esi, esi
mov dword [ebp - 0x264], esi
jne 0x68bdba
test edx, edx
jbe 0x68be7e
mov ecx, dword [ebp - 0x20c]
mov esi, edx
cmp dword [ecx], 0
je 0x68bdb2
or word [eax + 2], 0xffff
and word [eax], 0
mov edi, dword [ecx]
sub edi, dword [ebp - 0x248]
sar edi, 2
shl edi, 2
mov dword [eax + 4], edi
add eax, 8
dec esi
jne 0x68bd8f
jmp 0x68be7e
cmp dword [esi + 0xc], 0
jbe 0x68be0c
and dword [ebp - 0x220], 0
cmp dword [ebp - 0x230], 0
jbe 0x68be0c
mov edx, dword [ebp - 0x23c]
add edx, 4
mov edi, dword [edx + 4]
cmp edi, dword [ebp - 0x224]
jne 0x68bdf5
mov esi, dword [edx]
mov edi, dword [ebp - 0x220]
mov dword [ebx + esi*4], edi
mov esi, dword [ebp - 0x264]
inc dword [ebp - 0x220]
mov edi, dword [ebp - 0x220]
add edx, 0xc
cmp edi, dword [ebp - 0x230]
jb 0x68bdd9
mov edx, dword [ecx]
mov ecx, dword [edx + 0x18]
mov ecx, dword [ecx + 0x18]
mov edx, dword [edx + 0x9c]
add ecx, esi
test edx, edx
jbe 0x68be7e
mov edi, dword [ebp - 0x20c]
add ecx, 2
mov dword [ebp - 0x228], edx
cmp dword [edi], 0
je 0x68be6a
movzx esi, word [ecx]
cmp si, 0xffff
je 0x68be46
movzx esi, si
mov esi, dword [ebx + esi*4]
jmp 0x68be4b
mov esi, 0xffff
mov word [eax + 2], si
mov si, word [ecx - 2]
mov word [eax], si
mov esi, dword [edi]
sub esi, dword [ebp - 0x248]
sar esi, 2
shl esi, 2
mov dword [eax + 4], esi
add eax, 8
add ecx, 8
add edi, 4
dec dword [ebp - 0x228]
jne 0x68be2f
mov dword [ebp - 0x20c], edi
inc dword [ebp - 0x224]
mov ecx, dword [ebp - 0x224]
cmp ecx, dword [ebp + 0xc]
jb 0x68bd61
mov eax, dword [ebp - 0x240]
lea ecx, [ebp - 0x29c]
push ecx
mov dword [ebp - 0x2a0], eax
push 1
shl eax, 3
push eax
push dword [ebp - 0x26c]
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
xor ebx, ebx
cmp dword [ebp + 0xc], ebx
lea esi, [ebp - 0x204]
mov dword [ebp - 0x20c], 0x1ff
jbe 0x68bf21
mov eax, dword [ebp - 0x260]
mov eax, dword [eax + ebx*4]
mov ecx, dword [eax + 4]
mov eax, ecx
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x68beef
sub eax, edi
mov edi, eax
cmp edi, dword [ebp - 0x20c]
jbe 0x68bf08
mov edi, dword [ebp - 0x20c]
push edi
push ecx
push esi
call sub.msvcrt.dll_memcpy
sub dword [ebp - 0x20c], edi
add esp, 0xc
add esi, edi
inc ebx
cmp ebx, dword [ebp + 0xc]
jb 0x68bede
lea eax, [ebp - 0x290]
push eax
push 7
push 0xffffffffffffffff
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x258]
mov byte [esi], 0
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
lea eax, [ebp - 0x2b0]
push eax
push 5
push 0xffffffffffffffff
push 0x41e884
lea ecx, [ebp - 0x258]
call fcn.0061a266
mov edi, eax
test edi, edi
jl 0x68bffd
lea ecx, [ebp - 0x258]
call fcn.0061a388
cmp eax, 0x8000
ja 0x68bfd0
mov esi, dword [ebp - 0x248]
mov edx, eax
mov ecx, esi
mov esi, dword [esi]
shl edx, 2
sub ecx, edx
xor edi, edi
cmp dword [ebp - 0x2a0], edi
mov dword [ecx], esi
mov esi, ecx
jbe 0x68bfb8
mov ecx, dword [ebp - 0x26c]
add ecx, 4
add dword [ecx], edx
inc edi
add ecx, 8
cmp edi, dword [ebp - 0x2a0]
jb 0x68bfaa
push eax
lea eax, [esi + 4]
push eax
lea ecx, [ebp - 0x258]
call fcn.0061a399
mov edi, eax
test edi, edi
jl 0x68bffd
jmp 0x68bff3
mov eax, dword [ebp - 0x28c]
push 0x45c6b4
push 0x9ce
push 0
push dword [eax + 0x54]
call fcn.006a3001
mov esi, dword [ebp - 0x248]
add esp, 0x10
mov eax, dword [ebp - 0x278]
mov dword [eax], esi
xor edi, edi
push dword [ebp - 0x26c]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x274]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x25c]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x23c]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x268]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x270]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 0x18
lea ecx, [ebp - 0x258]
call fcn.0061a229
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0074f205
leave
ret 0x20