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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2b4
mov eax, dword [0x73cb90]
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.0071aed4
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.0071aef6
mov edi, eax
cmp edi, ebx
jl 0x5a3ff1
xor eax, eax
cmp dword [ebp + 0x18], ebx
jbe 0x5a3013
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + eax*4], ebx
je 0x5a300d
inc dword [ebp - 0x240]
inc eax
cmp eax, dword [ebp + 0x18]
jb 0x5a2fff
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 0x5a30b3
mov ecx, dword [ebp - 0x260]
lea eax, [ecx + eax*4]
mov edi, dword [eax]
mov edx, dword [edi + 0x18]
test edx, edx
je 0x5a30a1
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 0x5a3080
add ecx, 0xc
add ebx, dword [ecx]
add ecx, 0x14
dec edx
jne 0x5a3078
mov ecx, dword [edi + 0x34]
test ecx, ecx
jbe 0x5a3098
mov eax, dword [edi + 0x84]
add eax, 4
add ebx, dword [eax]
add eax, 8
dec ecx
jne 0x5a3090
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 0x5a3034
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 0x5a30eb
mov edi, 0x8007000e
jmp 0x5a3ff1
mov eax, dword [ebp - 0x230]
test eax, eax
mov dword [ebp - 0x2a8], eax
jbe 0x5a32d4
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 0x5a30e1
cmp dword [ebp - 0x23c], eax
je 0x5a30e1
cmp dword [ebp - 0x274], eax
je 0x5a30e1
cmp dword [ebp + 0xc], eax
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x224], eax
jbe 0x5a321f
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x21c], eax
jmp 0x5a31ab
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 0x5a3207
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 0x5a31d4
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 0x5a31a5
mov edi, dword [ebp - 0x23c]
push 0x47527f
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 0x5a32a6
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.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
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 0x5a325d
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.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
xor ecx, ecx
cmp dword [ebp - 0x208], ecx
jbe 0x5a3c8e
cmp ebx, ecx
jbe 0x5a3c8e
mov eax, dword [ebp + 0x1c]
add dword [ebp - 0x208], eax
add ebx, eax
mov eax, dword [esi + 0xac]
cmp eax, ecx
jbe 0x5a3317
mov edx, dword [esi + 0xb4]
cmp byte [edx + ecx], 0
jne 0x5a3312
inc dword [ebp - 0x208]
inc ebx
inc ecx
cmp ecx, eax
jb 0x5a3305
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 0x5a30e1
test eax, eax
je 0x5a30e1
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 0x5a3553
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 [0x422330]
mov dword [eax + 4], edx
mov edx, dword [0x422334]
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.0052b170
push eax
push 0x420104
lea eax, [ebp - 0x204]
push 0x200
push eax
call fcn.00527a8a
add esp, 0x14
push dword [ebp - 0x21c]
lea eax, [ebp - 0x204]
push 6
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x258]
call fcn.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
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.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
lea eax, [ebx + 8]
push eax
push 7
push 0x10
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x258]
call fcn.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
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 0x5a3539
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.0052b170
push eax
push 0x422948
lea eax, [ebp - 0x204]
push 0x200
push eax
call fcn.00527a8a
add esp, 0x10
push dword [ebp - 0x21c]
lea eax, [ebp - 0x204]
push 6
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x258]
call fcn.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
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 0x5a33b6
xor edi, edi
cmp dword [esi + 0x144], edi
jne 0x5a3597
push 7
pop eax
cmp byte [esi + eax + 0xbc], 0
je 0x5a3574
dec dword [ebp - 0x208]
inc dword [ebp - 0x210]
dec eax
jns 0x5a355e
mov eax, dword [esi + 0xb8]
xor ecx, ecx
inc ecx
cmp byte [eax + ecx], 0
je 0x5a3592
dec dword [ebp - 0x208]
inc dword [ebp - 0x210]
dec ecx
jns 0x5a3580
jmp 0x5a35a9
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 0x5a373c
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 0x5a371d
mov eax, dword [eax]
mov edx, 0x408824
mov dx, word [edx]
cmp dx, word [eax]
jne 0x5a361a
dec dword [ebp - 0x208]
inc dword [ebp - 0x210]
jmp 0x5a371d
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
imul edx, edx, 0x14
test byte [edx + ecx + 0xa], 1
je 0x5a371d
push 3
mov edi, eax
pop ecx
mov esi, 0x422944
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x5a3648
dec dword [ebp - 0x208]
jmp 0x5a370f
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x210]
mov dword [ecx], eax
mov edx, dword [0x422330]
mov eax, dword [ebp - 0x20c]
mov dword [eax], edx
mov edx, dword [0x422334]
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.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
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.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
lea eax, [ebx + 8]
push eax
push 7
push 0x10
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x258]
call fcn.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
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 0x5a35d0
cmp dword [ebp + 0xc], edi
mov dword [ebp - 0x20c], edi
mov dword [ebp - 0x224], edi
jbe 0x5a3c58
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 0x5a3c3a
cmp dword [eax + 0x3c], edi
mov dword [ebp - 0x218], edi
jbe 0x5a38fe
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 0x5a37f8
mov ecx, dword [esi + 0xb0]
mov dl, byte [ebp - 0x235]
cmp dl, byte [ecx + eax]
jne 0x5a37f3
mov ecx, dword [esi + 0xb4]
mov dl, byte [ebp - 0x236]
cmp dl, byte [eax + ecx]
je 0x5a37f8
inc eax
cmp eax, edi
jb 0x5a37d1
cmp eax, edi
jae 0x5a38db
mov ecx, dword [ebp - 0x22c]
mov dword [ecx], eax
mov edx, dword [0x422330]
mov eax, dword [ebp - 0x228]
mov dword [eax], edx
mov edx, dword [0x422334]
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 0x5a38db
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.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
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.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
lea eax, [ebx + 8]
push eax
push 7
push 0x10
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x258]
call fcn.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
add ebx, 0x14
jmp 0x5a38e1
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 0x5a378e
mov ecx, dword [ebp - 0x234]
mov ecx, dword [ecx]
xor eax, eax
cmp dword [ecx + 0x34], eax
mov dword [ebp - 0x218], eax
jbe 0x5a3a9e
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, 0x422940
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x5a3a74
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 0x5a39e4
lea ecx, [edx + 4]
mov eax, esi
jmp 0x5a3982
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 0x5a39bb
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 0x5a397c
cmp dword [ebx + 0xc], 0
jbe 0x5a3a74
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.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
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.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
lea eax, [ebx + 8]
push eax
push 7
push 0x10
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x258]
call fcn.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
add ebx, 0x14
jmp 0x5a3a7a
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 0x5a391d
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 0x5a3c20
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 0x5a3b42
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 0x5a3b2d
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 0x5a3af0
xor edi, edi
cmp dword [ebx + 0xc], edi
jbe 0x5a3bf7
mov eax, dword [esi - 0xc]
cmp eax, edi
je 0x5a3b77
mov ecx, dword [ebp - 0x214]
push ebx
push 7
add eax, ecx
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x258]
call fcn.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
jmp 0x5a3b79
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.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
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.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
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.0059da2e
mov edi, eax
test edi, edi
jl 0x5a3ff1
add ebx, 0x14
jmp 0x5a3bfd
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 0x5a3ace
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 0x5a375d
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.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
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 0x5a3d38
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 0x5a3d04
mov esi, edx
and esi, ebx
cmp esi, ebx
je 0x5a3d1c
cmp esi, 0xfffe
jne 0x5a3cf0
shr edx, 0x10
and edx, 0x7fff
lea ecx, [ecx + edx*4]
jmp 0x5a3d04
cmp esi, 0x51
je 0x5a3d17
cmp esi, 0x30
je 0x5a3d17
cmp esi, 0x2f
je 0x5a3d09
cmp esi, 0x1f
je 0x5a3d10
add ecx, 4
jmp 0x5a3ccc
mov edi, ecx
add ecx, 0xc
jmp 0x5a3d1c
mov edi, ecx
add ecx, 4
jmp 0x5a3d1c
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 0x5a3cbd
and dword [ebp - 0x224], 0
cmp dword [ebp + 0xc], 0
jbe 0x5a3e87
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 0x5a3dae
test edx, edx
jbe 0x5a3e72
mov ecx, dword [ebp - 0x20c]
mov esi, edx
cmp dword [ecx], 0
je 0x5a3da6
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 0x5a3d83
jmp 0x5a3e72
cmp dword [esi + 0xc], 0
jbe 0x5a3e00
and dword [ebp - 0x220], 0
cmp dword [ebp - 0x230], 0
jbe 0x5a3e00
mov edx, dword [ebp - 0x23c]
add edx, 4
mov edi, dword [edx + 4]
cmp edi, dword [ebp - 0x224]
jne 0x5a3de9
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 0x5a3dcd
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 0x5a3e72
mov edi, dword [ebp - 0x20c]
add ecx, 2
mov dword [ebp - 0x228], edx
cmp dword [edi], 0
je 0x5a3e5e
movzx esi, word [ecx]
cmp si, 0xffff
je 0x5a3e3a
movzx esi, si
mov esi, dword [ebx + esi*4]
jmp 0x5a3e3f
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 0x5a3e23
mov dword [ebp - 0x20c], edi
inc dword [ebp - 0x224]
mov ecx, dword [ebp - 0x224]
cmp ecx, dword [ebp + 0xc]
jb 0x5a3d55
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.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
xor ebx, ebx
cmp dword [ebp + 0xc], ebx
lea esi, [ebp - 0x204]
mov dword [ebp - 0x20c], 0x1ff
jbe 0x5a3f15
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 0x5a3ee3
sub eax, edi
mov edi, eax
cmp edi, dword [ebp - 0x20c]
jbe 0x5a3efc
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 0x5a3ed2
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.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
lea eax, [ebp - 0x2b0]
push eax
push 5
push 0xffffffffffffffff
push 0x422338
lea ecx, [ebp - 0x258]
call fcn.0071aef6
mov edi, eax
test edi, edi
jl 0x5a3ff1
lea ecx, [ebp - 0x258]
call fcn.00532e40
cmp eax, 0x8000
ja 0x5a3fc4
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 0x5a3fac
mov ecx, dword [ebp - 0x26c]
add ecx, 4
add dword [ecx], edx
inc edi
add ecx, 8
cmp edi, dword [ebp - 0x2a0]
jb 0x5a3f9e
push eax
lea eax, [esi + 4]
push eax
lea ecx, [ebp - 0x258]
call fcn.00532e51
mov edi, eax
test edi, edi
jl 0x5a3ff1
jmp 0x5a3fe7
mov eax, dword [ebp - 0x28c]
push 0x40b62c
push 0x9ce
push 0
push dword [eax + 0x54]
call fcn.005baf41
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.00532e03
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00666f65
leave
ret 0x20