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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2b8
mov eax, dword [0x60e890]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0x20]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x28c], ecx
push 0x47554244
lea ecx, [ebp - 0x254]
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x278], eax
call fcn.004f794a
push 0xa
pop ecx
xor ebx, ebx
push 0x28
xor eax, eax
lea edi, [ebp - 0x2b8]
rep stosd dword es:[edi], eax
pop eax
xor edx, edx
inc edx
push ebx
push edx
push eax
mov dword [ebp - 0x2b8], eax
lea eax, [ebp - 0x2b8]
push eax
lea ecx, [ebp - 0x254]
mov dword [ebp - 0x244], ebx
mov dword [ebp - 0x260], ebx
mov dword [ebp - 0x268], ebx
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x270], ebx
mov dword [ebp - 0x240], 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.004f79a9
mov edi, eax
cmp edi, ebx
jl 0x565947
xor eax, eax
cmp dword [ebp + 0x18], ebx
jbe 0x564973
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + eax*4], ebx
je 0x56496d
inc dword [ebp - 0x244]
inc eax
cmp eax, dword [ebp + 0x18]
jb 0x56495f
xor eax, eax
xor ebx, ebx
cmp dword [ebp + 0xc], eax
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], eax
jbe 0x564a13
mov ecx, dword [ebp - 0x26c]
lea eax, [ecx + eax*4]
mov edi, dword [eax]
mov edx, dword [edi + 0x18]
test edx, edx
je 0x564a01
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 [ecx + 0x3c]
add ebx, dword [ecx + 0x34]
mov ecx, dword [eax + 0x20]
add ebx, dword [eax + 0x1c]
add ecx, eax
add dword [ebp - 0x208], ebx
test edx, edx
mov ebx, dword [ebp - 0x218]
jbe 0x5649e0
add ecx, 0xc
add ebx, dword [ecx]
add ecx, 0x14
dec edx
jne 0x5649d8
mov ecx, dword [edi + 0x34]
test ecx, ecx
jbe 0x5649f8
mov eax, dword [edi + 0x84]
add eax, 4
add ebx, dword [eax]
add eax, 8
dec ecx
jne 0x5649f0
add ebx, dword [edi + 0x3c]
mov dword [ebp - 0x218], ebx
mov eax, dword [ebp - 0x214]
inc eax
cmp eax, dword [ebp + 0xc]
mov dword [ebp - 0x214], eax
jb 0x564994
mov eax, dword [ebp + 0x1c]
add dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x244]
shl eax, 3
push eax
mov dword [ebp - 0x290], eax
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
mov dword [ebp - 0x260], eax
je 0x565616
mov eax, dword [ebp - 0x230]
test eax, eax
mov dword [ebp - 0x2ac], eax
jbe 0x564c05
mov edi, eax
shl edi, 2
push edi
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x230]
lea eax, [eax + eax*2]
shl eax, 2
push eax
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
push edi
mov dword [ebp - 0x240], eax
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 0xc
cmp dword [ebp - 0x268], 0
mov dword [ebp - 0x270], eax
je 0x565616
xor ecx, ecx
cmp dword [ebp - 0x240], ecx
je 0x565616
cmp eax, ecx
je 0x565616
cmp dword [ebp + 0xc], ecx
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x214], ecx
jbe 0x564b50
mov edi, dword [ebp - 0x26c]
mov dword [ebp - 0x21c], edi
mov eax, dword [edi]
mov eax, dword [eax + 0x18]
mov edx, dword [eax + 0x10]
add edx, eax
mov dword [ebp - 0x228], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x18]
xor ecx, ecx
cmp dword [eax + 0xc], ecx
jbe 0x564b36
mov eax, dword [ebp - 0x20c]
mov edi, dword [ebp - 0x240]
lea eax, [eax + eax*2]
lea eax, [edi + eax*4 + 4]
mov edi, dword [edx + ecx*4]
add edi, dword [ebp - 0x228]
inc dword [ebp - 0x20c]
mov dword [eax - 4], edi
mov edi, dword [ebp - 0x214]
mov dword [eax + 4], edi
mov edi, dword [ebp - 0x21c]
mov dword [eax], ecx
mov ebx, dword [edi]
mov ebx, dword [ebx + 0x18]
add eax, 0xc
inc ecx
cmp ecx, dword [ebx + 0xc]
jb 0x564aff
mov ebx, dword [ebp - 0x218]
inc dword [ebp - 0x214]
mov eax, dword [ebp - 0x214]
add edi, 4
cmp eax, dword [ebp + 0xc]
mov dword [ebp - 0x21c], edi
jb 0x564ad0
mov edi, dword [ebp - 0x240]
push 0x4375df
push 0xc
push dword [ebp - 0x230]
push edi
call sub.msvcrt.dll_qsort
and dword [ebp - 0x224], 0
add esp, 0x10
cmp dword [ebp - 0x230], 0
jbe 0x564bd7
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x21c], edi
mov dword [ebp - 0x20c], eax
push dword [ebp - 0x20c]
mov eax, dword [ebp - 0x21c]
push 7
push 0xffffffffffffffff
push dword [eax]
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
inc dword [ebp - 0x224]
mov eax, dword [ebp - 0x224]
add dword [ebp - 0x20c], 4
add dword [ebp - 0x21c], 0xc
cmp eax, dword [ebp - 0x230]
jb 0x564b8e
lea eax, [ebp - 0x2a8]
push eax
mov eax, dword [ebp - 0x230]
push 1
shl eax, 2
push eax
push dword [ebp - 0x268]
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
xor ecx, ecx
cmp dword [ebp - 0x208], ecx
jbe 0x5655b4
cmp ebx, ecx
jbe 0x5655b4
mov eax, dword [ebp + 0x1c]
add dword [ebp - 0x208], eax
add ebx, eax
mov eax, dword [esi + 0xac]
cmp eax, ecx
jbe 0x564c48
mov edx, dword [esi + 0xb4]
cmp byte [edx + ecx], 0
jne 0x564c43
inc dword [ebp - 0x208]
inc ebx
inc ecx
cmp ecx, eax
jb 0x564c36
mov edi, dword [ebp - 0x208]
lea edi, [edi + edi*4]
shl edi, 2
push edi
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov dword [ebp - 0x264], eax
lea eax, [ebx + ebx*2]
shl eax, 2
push eax
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp dword [ebp - 0x264], 0
pop ecx
pop ecx
mov dword [ebp - 0x274], eax
je 0x565616
test eax, eax
je 0x565616
mov ebx, dword [ebp - 0x264]
and dword [ebp - 0x210], 0
mov ecx, edi
mov edx, ecx
shr ecx, 2
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
cmp dword [esi + 0xac], 0
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x22c], eax
jbe 0x564e73
lea eax, [ebx + 4]
mov dword [ebp - 0x228], eax
lea eax, [ebx - 0x14]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x210]
mov dword [eax], ecx
mov edx, dword [0x420198]
mov dword [eax + 4], edx
mov edx, dword [0x42019c]
mov dword [eax + 8], edx
inc dword [ebx + 0xc]
and dword [ebx], 0
mov dword [ebp - 0x234], 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.004efcd4
push eax
push 0x41dfc4
lea eax, [ebp - 0x204]
push 0x200
push eax
call fcn.00463b20
add esp, 0x14
push dword [ebp - 0x228]
lea eax, [ebp - 0x204]
push 6
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
lea eax, [ebx + 0x10]
push eax
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*2]
push 1
shl eax, 2
push eax
push dword [ebp - 0x234]
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
lea eax, [ebx + 8]
push eax
push 7
push 0x10
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
mov eax, dword [esi + 0xb4]
mov ecx, dword [ebp - 0x210]
add dword [ebp - 0x218], 0x14
add dword [ebp - 0x228], 0x14
add ebx, 0x14
cmp byte [ecx + eax], 0
jne 0x564e5b
mov esi, dword [ebp - 0x218]
mov eax, dword [ebp - 0x258]
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.004efcd4
push eax
push 0x4207a0
lea eax, [ebp - 0x204]
push 0x200
push eax
call fcn.00463b20
add esp, 0x10
push dword [ebp - 0x228]
lea eax, [ebp - 0x204]
push 6
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
add dword [ebp - 0x218], 0x14
mov esi, dword [ebp - 0x258]
add ebx, 0x14
add dword [ebp - 0x228], 0x14
inc dword [ebp - 0x210]
mov eax, dword [ebp - 0x210]
cmp eax, dword [esi + 0xac]
jb 0x564cd5
xor edi, edi
cmp dword [esi + 0x144], edi
jne 0x564eb9
push 7
pop eax
cmp byte [esi + eax + 0xbc], 0
je 0x564e96
dec dword [ebp - 0x208]
inc dword [ebp - 0x210]
dec eax
jns 0x564e80
mov eax, dword [esi + 0xb8]
xor ecx, ecx
inc ecx
cmp byte [eax + ecx], 0
je 0x564eb4
dec dword [ebp - 0x208]
inc dword [ebp - 0x210]
dec ecx
jns 0x564ea2
jmp 0x564ecb
mov eax, dword [esi + 0xa8]
sub dword [ebp - 0x208], eax
add dword [ebp - 0x210], eax
cmp dword [esi + 0xfc], edi
mov dword [ebp - 0x220], edi
jbe 0x56505b
mov eax, dword [ebp - 0x22c]
add eax, 4
mov dword [ebp - 0x218], edi
mov dword [ebp - 0x20c], eax
mov eax, dword [esi + 0xf8]
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x218]
lea ecx, [eax + ecx*8]
mov eax, dword [esi + 0xf4]
add eax, edx
cmp dword [eax + 4], 0xffff
je 0x56503a
mov eax, dword [eax]
mov edx, 0x407d4c
mov dx, word [edx]
cmp dx, word [eax]
jne 0x564f36
dec dword [ebp - 0x208]
jmp 0x565034
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
lea edx, [edx + edx*4]
test byte [ecx + edx*4 + 0xa], 1
je 0x56503a
push 3
mov edi, eax
pop ecx
mov esi, 0x42079c
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x564f64
dec dword [ebp - 0x208]
jmp 0x56502e
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x210]
mov dword [ecx], eax
mov edx, dword [0x420198]
mov eax, dword [ebp - 0x20c]
mov dword [eax], edx
mov edx, dword [0x42019c]
mov dword [eax + 4], edx
inc dword [ebx + 0xc]
and dword [ebx], 0
add eax, 0xc
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x234], ecx
add ecx, 0xc
lea esi, [ebx + 0x10]
lea eax, [esi - 0xc]
push eax
mov eax, dword [ebp - 0x258]
mov eax, dword [eax + 0xf4]
mov dword [ebp - 0x22c], ecx
mov ecx, dword [ebp - 0x218]
mov eax, dword [ecx + eax]
push 7
inc eax
push 0xffffffffffffffff
inc eax
push eax
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
mov eax, dword [ebx + 0xc]
push esi
lea eax, [eax + eax*2]
push 1
shl eax, 2
push eax
push dword [ebp - 0x234]
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
lea eax, [ebx + 8]
push eax
push 7
push 0x10
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
add ebx, 0x14
mov esi, dword [ebp - 0x258]
inc dword [ebp - 0x210]
inc dword [ebp - 0x220]
mov eax, dword [ebp - 0x220]
add dword [ebp - 0x218], 0x10
cmp eax, dword [esi + 0xfc]
jb 0x564ef2
xor edi, edi
cmp dword [ebp + 0xc], edi
mov dword [ebp - 0x20c], edi
mov dword [ebp - 0x214], edi
jbe 0x56557d
mov edx, dword [ebp - 0x26c]
mov dword [ebp - 0x224], edx
jmp 0x565080
xor edi, edi
mov eax, dword [edx]
mov ecx, dword [eax + 0x18]
cmp ecx, edi
mov dword [ebp - 0x218], ecx
je 0x56555f
cmp dword [eax + 0x3c], edi
mov dword [ebp - 0x220], edi
jbe 0x565224
mov eax, dword [ebp - 0x22c]
add eax, 4
mov dword [ebp - 0x21c], eax
mov eax, dword [edx]
mov ecx, dword [eax + 0x38]
add ecx, dword [ebp - 0x220]
mov edi, dword [eax + 0x8c]
lea ecx, [ecx + ecx*4]
movzx edi, word [edi + ecx*4 + 6]
mov ecx, dword [eax + 0x64]
mov eax, dword [eax + 0x68]
mov cl, byte [edi + ecx]
mov al, byte [edi + eax]
xor edi, edi
cmp dword [esi + 0xac], edi
mov byte [ebp - 0x235], cl
mov byte [ebp - 0x236], al
jbe 0x565117
mov eax, dword [esi + 0xb0]
mov cl, byte [ebp - 0x235]
cmp cl, byte [eax + edi]
jne 0x56510e
mov eax, dword [esi + 0xb4]
mov cl, byte [ebp - 0x236]
cmp cl, byte [edi + eax]
je 0x565117
inc edi
cmp edi, dword [esi + 0xac]
jb 0x5650ec
cmp edi, dword [esi + 0xac]
jae 0x565207
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x21c]
mov dword [eax], edi
mov edi, dword [0x420198]
mov dword [ecx], edi
mov edi, dword [0x42019c]
mov dword [ecx + 4], edi
inc dword [ebx + 0xc]
mov edi, dword [ebx + 0xc]
mov dword [ebp - 0x234], eax
add eax, 0xc
add ecx, 0xc
test edi, edi
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x21c], ecx
jbe 0x565207
and dword [ebx], 0
mov eax, dword [ebp - 0x224]
mov eax, dword [eax]
mov ecx, dword [eax + 0x8c]
mov eax, dword [eax + 0x38]
add eax, dword [ebp - 0x220]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4]
lea ecx, [eax + ecx - 0x14]
lea eax, [ebx + 4]
push eax
push 7
add ecx, 2
push 0xffffffffffffffff
push ecx
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
lea eax, [ebx + 0x10]
push eax
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*2]
push 1
shl eax, 2
push eax
push dword [ebp - 0x234]
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
lea eax, [ebx + 8]
push eax
push 7
push 0x10
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
mov edx, dword [ebp - 0x224]
add ebx, 0x14
jmp 0x56520d
dec dword [ebp - 0x208]
inc dword [ebp - 0x220]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x220]
cmp ecx, dword [eax + 0x3c]
jb 0x5650b1
mov ecx, dword [edx]
xor eax, eax
cmp dword [ecx + 0x34], eax
mov dword [ebp - 0x220], eax
jbe 0x5653c1
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x224]
mov eax, dword [eax]
mov edx, dword [eax + 0x78]
mov esi, dword [ebp - 0x21c]
mov edi, dword [edx + esi]
push 3
pop ecx
mov esi, 0x420798
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x565397
mov ecx, dword [ebp - 0x220]
mov eax, dword [eax + 0x84]
mov edx, dword [ebp - 0x22c]
and dword [ebp - 0x228], 0
shl ecx, 3
add eax, ecx
cmp dword [eax + 4], 0
mov esi, dword [eax]
mov dword [ebp - 0x234], edx
mov dword [ebp - 0x25c], ecx
jbe 0x565304
lea ecx, [edx + 4]
mov eax, esi
jmp 0x5652a2
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 0x5652db
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 - 0x224]
inc dword [ebp - 0x228]
mov edx, dword [edx]
mov edx, dword [edx + 0x84]
mov esi, dword [ebp - 0x25c]
mov edi, dword [ebp - 0x228]
add eax, 0xc
cmp edi, dword [edx + esi + 4]
jb 0x56529c
cmp dword [ebx + 0xc], 0
jbe 0x565397
and dword [ebx], 0
mov eax, dword [ebp - 0x224]
mov eax, dword [eax]
mov eax, dword [eax + 0x78]
mov ecx, dword [ebp - 0x21c]
mov eax, dword [ecx + eax]
lea esi, [ebx + 0x10]
lea ecx, [esi - 0xc]
push ecx
push 7
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
mov eax, dword [ebx + 0xc]
push esi
lea eax, [eax + eax*2]
push 1
shl eax, 2
push eax
push dword [ebp - 0x234]
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
lea eax, [ebx + 8]
push eax
push 7
push 0x10
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
add ebx, 0x14
jmp 0x56539d
dec dword [ebp - 0x208]
inc dword [ebp - 0x220]
mov eax, dword [ebp - 0x224]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x220]
add dword [ebp - 0x21c], 0x10
cmp ecx, dword [eax + 0x34]
jb 0x56523d
mov edx, dword [ebp - 0x224]
mov eax, dword [edx]
mov eax, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
add eax, dword [ebp - 0x218]
and dword [ebp - 0x220], 0
test ecx, ecx
mov dword [ebp - 0x25c], ecx
jbe 0x565545
lea esi, [eax + 0xc]
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x22c]
add eax, dword [ebp - 0x218]
and dword [ebp - 0x228], 0
cmp dword [esi], 0
mov dword [ebp - 0x234], ecx
jbe 0x565464
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 0x565451
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 - 0x228]
mov edx, dword [ebp - 0x228]
add eax, 0xc
cmp edx, dword [esi]
jb 0x565414
cmp dword [ebx + 0xc], 0
jbe 0x56551e
mov eax, dword [esi - 0xc]
test eax, eax
je 0x56549a
mov ecx, dword [ebp - 0x218]
push ebx
push 7
add eax, ecx
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
jmp 0x56549d
and dword [ebx], 0
mov eax, dword [esi - 8]
add eax, dword [ebp - 0x218]
lea ecx, [ebx + 4]
push ecx
push 7
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
lea eax, [ebx + 0x10]
push eax
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*2]
push 1
shl eax, 2
push eax
push dword [ebp - 0x234]
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
mov eax, dword [esi - 4]
add eax, dword [ebp - 0x218]
lea ecx, [ebx + 8]
push ecx
push eax
push dword [ebp - 0x218]
lea eax, [ebp - 0x254]
push eax
call fcn.00560534
mov edi, eax
test edi, edi
jl 0x565947
add ebx, 0x14
jmp 0x565524
dec dword [ebp - 0x208]
inc dword [ebp - 0x220]
mov eax, dword [ebp - 0x220]
add esi, 0x14
cmp eax, dword [ebp - 0x25c]
jb 0x5653f0
mov edx, dword [ebp - 0x224]
mov eax, dword [edx]
mov eax, dword [eax + 0x98]
add dword [ebp - 0x210], eax
add dword [ebp - 0x20c], eax
mov esi, dword [ebp - 0x258]
inc dword [ebp - 0x214]
mov eax, dword [ebp - 0x214]
add edx, 4
cmp eax, dword [ebp + 0xc]
mov dword [ebp - 0x224], edx
jb 0x56507e
mov esi, dword [ebp - 0x208]
lea eax, [ebp - 0x298]
push eax
push 1
lea eax, [esi + esi*4]
shl eax, 2
push eax
push dword [ebp - 0x264]
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
mov dword [ebp - 0x29c], esi
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp + 0x1c]
add ecx, 4
test edx, edx
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x260]
jbe 0x56566c
mov edi, dword [ebp - 0x278]
mov dword [ebp - 0x21c], edx
or word [eax + 2], 0xffff
and word [eax], 0
mov ebx, 0xffff
mov edx, dword [ecx]
test edx, edx
js 0x565634
mov esi, edx
and esi, ebx
cmp esi, ebx
je 0x56564c
cmp esi, 0xfffe
jne 0x565620
shr edx, 0x10
and edx, 0x7fff
lea ecx, [ecx + edx*4]
jmp 0x565634
mov edi, 0x8007000e
jmp 0x565947
cmp esi, 0x51
je 0x565647
cmp esi, 0x30
je 0x565647
cmp esi, 0x2f
je 0x565639
cmp esi, 0x1f
je 0x565640
add ecx, 4
jmp 0x5655f2
mov edi, ecx
add ecx, 0xc
jmp 0x56564c
mov edi, ecx
add ecx, 4
jmp 0x56564c
mov edi, ecx
add ecx, 0x18
mov edx, edi
sub edx, dword [ebp - 0x23c]
add eax, 8
sar edx, 2
shl edx, 2
dec dword [ebp - 0x21c]
mov dword [eax - 4], edx
jne 0x5655e3
and dword [ebp - 0x214], 0
cmp dword [ebp + 0xc], 0
jbe 0x5657bb
mov edx, dword [ebp - 0x278]
mov ebx, dword [ebp - 0x270]
mov esi, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x26c]
lea ecx, [ecx + esi*4]
mov esi, dword [ecx]
mov esi, dword [esi + 0x18]
test esi, esi
mov dword [ebp - 0x25c], esi
jne 0x5656e2
test edx, edx
jbe 0x5657a6
mov ecx, dword [ebp - 0x20c]
mov esi, edx
cmp dword [ecx], 0
je 0x5656da
or word [eax + 2], 0xffff
and word [eax], 0
mov edi, dword [ecx]
sub edi, dword [ebp - 0x23c]
sar edi, 2
shl edi, 2
mov dword [eax + 4], edi
add eax, 8
dec esi
jne 0x5656b7
jmp 0x5657a6
cmp dword [esi + 0xc], 0
jbe 0x565734
and dword [ebp - 0x224], 0
cmp dword [ebp - 0x230], 0
jbe 0x565734
mov edx, dword [ebp - 0x240]
add edx, 4
mov edi, dword [edx + 4]
cmp edi, dword [ebp - 0x214]
jne 0x56571d
mov esi, dword [edx]
mov edi, dword [ebp - 0x224]
mov dword [ebx + esi*4], edi
mov esi, dword [ebp - 0x25c]
inc dword [ebp - 0x224]
mov edi, dword [ebp - 0x224]
add edx, 0xc
cmp edi, dword [ebp - 0x230]
jb 0x565701
mov edx, dword [ecx]
mov ecx, dword [edx + 0x18]
mov ecx, dword [ecx + 0x18]
mov edx, dword [edx + 0x98]
add ecx, esi
test edx, edx
jbe 0x5657a6
mov edi, dword [ebp - 0x20c]
add ecx, 2
mov dword [ebp - 0x21c], edx
cmp dword [edi], 0
je 0x565792
mov si, word [ecx]
cmp si, 0xffff
je 0x56576e
movzx esi, si
mov esi, dword [ebx + esi*4]
jmp 0x565773
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 - 0x23c]
sar esi, 2
shl esi, 2
mov dword [eax + 4], esi
add eax, 8
add ecx, 8
add edi, 4
dec dword [ebp - 0x21c]
jne 0x565757
mov dword [ebp - 0x20c], edi
inc dword [ebp - 0x214]
mov ecx, dword [ebp - 0x214]
cmp ecx, dword [ebp + 0xc]
jb 0x565689
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x2a4], eax
lea eax, [ebp - 0x2a0]
push eax
push 1
push dword [ebp - 0x290]
lea ecx, [ebp - 0x254]
push dword [ebp - 0x260]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
and dword [ebp - 0x214], 0
cmp dword [ebp + 0xc], 0
lea edx, [ebp - 0x204]
mov dword [ebp - 0x20c], 0x1ff
jbe 0x565867
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x214]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 4]
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x565825
sub eax, edi
cmp eax, dword [ebp - 0x20c]
jbe 0x56583c
mov eax, dword [ebp - 0x20c]
sub dword [ebp - 0x20c], eax
mov ecx, eax
mov ebx, ecx
shr ecx, 2
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
add edx, eax
inc dword [ebp - 0x214]
mov eax, dword [ebp - 0x214]
cmp eax, dword [ebp + 0xc]
rep movsb byte es:[edi], byte [esi]
jb 0x56580e
lea eax, [ebp - 0x294]
push eax
push 7
push 0xffffffffffffffff
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x254]
mov byte [edx], 0
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
lea eax, [ebp - 0x2b4]
push eax
push 5
push 0xffffffffffffffff
push 0x4201d0
lea ecx, [ebp - 0x254]
call fcn.004f79a9
mov edi, eax
test edi, edi
jl 0x565947
lea ecx, [ebp - 0x254]
call fcn.004f7ae7
cmp eax, 0x8000
ja 0x56591a
mov edx, dword [ebp - 0x23c]
mov esi, eax
shl esi, 2
mov ecx, edx
mov edx, dword [edx]
sub ecx, esi
xor edi, edi
mov dword [ecx], edx
cmp dword [ebp - 0x2a4], edi
mov dword [ebp - 0x23c], ecx
jbe 0x565902
mov edx, dword [ebp - 0x260]
add edx, 4
add dword [edx], esi
inc edi
add edx, 8
cmp edi, dword [ebp - 0x2a4]
jb 0x5658f4
add ecx, 4
push eax
push ecx
lea ecx, [ebp - 0x254]
call fcn.004f7af8
mov edi, eax
test edi, edi
jl 0x565947
jmp 0x565937
mov eax, dword [ebp - 0x28c]
push 0x40ab1c
push 0x9ce
push 0
push dword [eax + 0x54]
call fcn.0058094a
add esp, 0x10
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x278]
mov dword [ecx], eax
xor edi, edi
push dword [ebp - 0x260]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x270]
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 - 0x240]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x264]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x274]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 0x18
lea ecx, [ebp - 0x254]
call fcn.004f796c
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
pop ebx
call fcn.005f059d
leave
ret 0x20