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

Disassembly:
sub esp, 0xb4
mov eax, dword [0x5a83f8]
xor eax, esp
mov dword [esp + 0xb0], eax
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc4]
add edx, ecx
mov eax, dword [esp + 0xc0]
push ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x6c], ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0xc8]
mov dword [esp + 0x60], edi
test eax, eax
jle 0x539741
add eax, ebx
mov dword [esp + 0x38], eax
jmp 0x539745
mov dword [esp + 0x38], ebx
cmp dword [esp + 0xdc], 0
mov ebp, ebx
mov eax, dword [edi + 0x74b0]
mov ebx, dword [edi + 0x7578]
mov esi, dword [edi + 0x760c]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x74b4]
mov dword [esp + 0x58], eax
mov eax, dword [edi + 0x74b8]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x50], esi
mov dword [esp + 0x30], eax
je 0x53ad51
mov dword [edi + 0x750c], 1
sub edx, ecx
mov eax, dword [edi + 0x682c]
mov dword [esp + 0xb4], eax
mov eax, dword [edi + 0x6830]
mov dword [esp + 0xb8], eax
mov eax, dword [edi + 0x6834]
push edx
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x8c]
push ecx
push eax
call fcn.00532580
add esp, 0xc
cmp eax, 0xffffff88
jbe 0x5397e3
mov esi, 0xffffffec
jmp 0x53adb8
push dword [edi]
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.0053bb50
push dword [edi + 8]
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.0053bb50
push dword [edi + 4]
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xcc]
push eax
call fcn.0053bb50
mov eax, dword [esp + 0xe0]
add esp, 0x24
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 0x90]
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x48], ecx
nop word [eax + eax]
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + edx*8 + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + ecx*8 + 4]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x48]
mov ebp, dword [eax + esi*8 + 4]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0xa0]
mov al, byte [ebp + ecx*8 + 2]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0xb0]
mov al, byte [eax + edx*8 + 2]
movzx edx, word [ebp + ecx*8]
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0x68], edx
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0xa8]
movzx edx, word [ebp + ecx*8]
mov ebp, dword [esp + 0xa8]
mov ecx, dword [esp + 0x48]
mov al, byte [eax + esi*8 + 2]
mov dword [esp + 0x44], edx
movzx edx, word [ebp + esi*8]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xa0]
movzx edx, byte [edx + ecx*8 + 3]
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x4c]
movzx edx, byte [ecx + edx*8 + 3]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x64], edx
movzx edx, byte [ebp + esi*8 + 3]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
cmp al, 1
jbe 0x539aca
cmp dword [esp + 0xe0], 0
je 0x539a06
cmp al, 0x19
jb 0x539a06
mov edx, dword [esp + 0x88]
mov ecx, ebx
and ecx, 0x1f
movzx eax, al
sub eax, 5
mov esi, edx
shl esi, cl
add ebx, eax
mov ecx, eax
neg ecx
and ecx, 0x1f
shr esi, cl
shl esi, 5
add esi, ebp
cmp ebx, 0x20
jbe 0x539980
mov edi, 0x5783a0
jmp 0x5399c1
cmp edi, dword [esp + 0x98]
jb 0x539995
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x5399b8
mov ebp, dword [esp + 0x94]
cmp edi, ebp
je 0x5399c8
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x5399b1
mov ecx, edi
sub ecx, ebp
imul eax, ecx, 0xfffffff8
sub edi, ecx
add ebx, eax
mov edx, dword [edi]
mov dword [esp + 0x88], edx
mov dword [esp + 0x90], edi
mov ecx, ebx
mov eax, edx
and ecx, 0x1f
add ebx, 5
shl eax, cl
shr eax, 0x1b
add esi, eax
mov dword [esp + 0x8c], ebx
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x54], eax
mov dword [esp + 0xbc], eax
jmp 0x539b5b
mov esi, dword [esp + 0x88]
mov ecx, ebx
movzx edx, al
and ecx, 0x1f
mov eax, esi
add ebx, edx
shl eax, cl
mov ecx, edx
neg ecx
mov dword [esp + 0x8c], ebx
and ecx, 0x1f
shr eax, cl
add ebp, eax
mov dword [esp + 0x14], ebp
cmp ebx, 0x20
jbe 0x539a59
mov eax, dword [esp + 0xb8]
mov edi, 0x5783a0
mov dword [esp + 0x90], edi
mov dword [esp + 0x54], eax
mov dword [esp + 0xbc], eax
jmp 0x539b5b
cmp edi, dword [esp + 0x98]
jb 0x539a79
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov eax, dword [edi]
mov esi, eax
mov dword [esp + 0x88], eax
jmp 0x539aa5
mov edx, dword [esp + 0x94]
cmp edi, edx
je 0x539ab3
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x539a95
mov ecx, edi
sub ecx, edx
sub edi, ecx
imul eax, ecx, 0xfffffff8
mov esi, dword [edi]
add ebx, eax
mov dword [esp + 0x88], esi
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], ebx
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x54], eax
mov dword [esp + 0xbc], eax
jmp 0x539b5b
mov esi, dword [esp + 0x88]
xor edx, edx
test ecx, ecx
sete dl
test al, al
jne 0x539b05
mov ecx, dword [esp + edx*4 + 0xb4]
xor eax, eax
test edx, edx
mov dword [esp + 0x14], ecx
sete al
mov edx, dword [esp + eax*4 + 0xb4]
mov dword [esp + 0xb8], edx
mov dword [esp + 0xb4], ecx
jmp 0x539b70
mov ecx, ebx
mov eax, esi
and ecx, 0x1f
inc ebx
shl eax, cl
shr eax, 0x1f
mov dword [esp + 0x8c], ebx
lea ecx, [eax + edx]
add ecx, ebp
cmp ecx, 3
jne 0x539b2d
mov ebp, dword [esp + 0xb4]
dec ebp
jmp 0x539b34
mov ebp, dword [esp + ecx*4 + 0xb4]
mov edx, dword [esp + 0x54]
xor eax, eax
test ebp, ebp
sete al
sub ebp, eax
cmp ecx, 1
mov dword [esp + 0x14], ebp
cmovne edx, dword [esp + 0xb8]
mov dword [esp + 0x54], edx
mov dword [esp + 0xbc], edx
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb8], eax
mov al, byte [esp + 0x1a]
test al, al
je 0x539b9e
movzx edx, al
mov ecx, ebx
and ecx, 0x1f
mov eax, esi
shl eax, cl
add ebx, edx
mov ecx, edx
mov dword [esp + 0x8c], ebx
neg ecx
and ecx, 0x1f
shr eax, cl
add dword [esp + 0x1c], eax
mov al, byte [esp + 0x1a]
mov cl, byte [esp + 0x1b]
movzx edx, cl
movzx eax, al
add eax, edx
cmp eax, 0x14
jl 0x539bc4
cmp ebx, 0x20
jbe 0x539c92
mov edi, 0x5783a0
mov dword [esp + 0x90], edi
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x24]
test cl, cl
je 0x539bf9
mov ecx, ebx
add ebx, edx
and ecx, 0x1f
mov dword [esp + 0x8c], ebx
shl eax, cl
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
add esi, eax
mov dword [esp + 0x24], esi
cmp ebx, 0x20
jbe 0x539d08
mov edi, 0x5783a0
mov dword [esp + 0x90], edi
mov ebp, dword [esp + 0x88]
cmp dword [esp + 0xdc], 1
je 0x539e4d
mov edx, dword [esp + 0x28]
mov eax, ebp
add edx, ebx
mov ebx, dword [esp + 0x64]
mov ecx, edx
add edx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x28]
and eax, dword [ecx*4 + 0x577c80]
mov ecx, dword [esp + 0x68]
movzx ecx, cx
add ecx, eax
mov eax, ebp
mov dword [esp + 0x48], ecx
mov dword [esp + 0x9c], ecx
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x44]
and eax, dword [ebx*4 + 0x577c80]
movzx ecx, cx
add ecx, eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xac], ecx
cmp edx, 0x20
jbe 0x539d73
mov edi, 0x5783a0
jmp 0x539db4
mov ebp, dword [esp + 0x94]
cmp edi, dword [esp + 0x98]
jb 0x539cc8
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], ebx
mov eax, dword [edi]
mov dword [esp + 0x88], eax
jmp 0x539bd2
cmp edi, ebp
je 0x539bcb
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x539ce1
mov ecx, edi
sub ecx, ebp
imul eax, ecx, 0xfffffff8
sub edi, ecx
mov cl, byte [esp + 0x1b]
mov dword [esp + 0x90], edi
add ebx, eax
mov eax, dword [edi]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], eax
jmp 0x539bd2
cmp edi, dword [esp + 0x98]
jb 0x539d37
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], ebx
mov ebp, dword [edi]
mov dword [esp + 0x88], ebp
jmp 0x539c15
cmp edi, ebp
je 0x539c0e
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x539d50
mov ecx, edi
sub ecx, ebp
sub edi, ecx
imul eax, ecx, 0xfffffff8
mov dword [esp + 0x90], edi
mov ebp, dword [edi]
add ebx, eax
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebx
jmp 0x539c15
cmp edi, dword [esp + 0x98]
jb 0x539d88
mov eax, edx
shr eax, 3
sub edi, eax
and edx, 7
jmp 0x539dab
mov ebx, dword [esp + 0x94]
cmp edi, ebx
je 0x539dbb
mov ecx, edx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x539da4
mov ecx, edi
sub ecx, ebx
imul eax, ecx, 0xfffffff8
sub edi, ecx
add edx, eax
mov ebp, dword [edi]
mov dword [esp + 0x88], ebp
mov dword [esp + 0x90], edi
mov ebx, dword [esp + 0x3c]
mov eax, ebp
add ebx, edx
mov ecx, ebx
mov dword [esp + 0x8c], ebx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x3c]
and eax, dword [ecx*4 + 0x577c80]
mov ecx, dword [esp + 0x20]
movzx ecx, cx
add ecx, eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xa4], ecx
cmp ebx, 0x20
jbe 0x539dfe
mov edi, 0x5783a0
jmp 0x539e46
cmp edi, dword [esp + 0x98]
jb 0x539e13
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x539e36
mov edx, dword [esp + 0x94]
cmp edi, edx
je 0x539e4d
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x539e2f
mov ecx, edi
sub ecx, edx
imul eax, ecx, 0xfffffff8
sub edi, ecx
add ebx, eax
mov eax, dword [edi]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], edi
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x60]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x6c], esi
lea eax, [esi + edx]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x44], eax
cmp eax, dword [ecx + 0x760c]
ja 0x53a131
mov edx, dword [esp + 0x10]
lea ecx, [eax - 0x20]
movq xmm0, qword [esp + 0x6c]
add edx, esi
add esi, ebp
movq qword [esp + 0x7c], xmm0
mov ebp, edx
mov dword [esp + 0x20], ecx
sub ebp, dword [esp + 0x14]
mov dword [esp + 0x28], edx
mov dword [esp + 0x3c], esi
cmp eax, dword [esp + 0x50]
ja 0x53a0c2
mov eax, dword [esp + 0x10]
add eax, esi
cmp eax, ecx
ja 0x53a0c2
mov ecx, dword [esp + 0x38]
lea eax, [esi + 0x20]
sub ecx, dword [esp + 0x10]
cmp ecx, eax
jb 0x53a0be
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0x24]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jbe 0x539f2c
mov edx, dword [esp + 0x2c]
add ecx, 0x10
add eax, 0xfffffff0
movups xmm0, xmmword [edx + 0x10]
lea esi, [ecx + eax]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x3c]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x539f28
mov eax, dword [esp + 0x20]
add ecx, 0x10
add edx, 0x20
nop word [eax + eax]
movups xmm0, xmmword [edx]
lea edx, [edx + 0x20]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx - 0x10]
movups xmmword [ecx + 0x10], xmm0
add ecx, 0x20
cmp ecx, eax
jb 0x539f10
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], eax
mov eax, edx
sub eax, dword [esp + 0x34]
cmp ecx, eax
jbe 0x539faa
mov eax, edx
sub eax, dword [esp + 0x58]
cmp ecx, eax
ja 0x5397d9
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
add ebp, eax
lea eax, [ecx + ebp]
cmp eax, dword [esp + 0x30]
ja 0x539f7f
push ecx
push ebp
push edx
call fcn.004ee190
mov ebp, dword [esp + 0x1c]
add esp, 0xc
jmp 0x53a103
mov esi, dword [esp + 0x30]
sub esi, ebp
push esi
push ebp
push edx
call fcn.004ee190
mov edx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [esp + 0x1c]
add edx, esi
mov ebp, dword [esp + 0x34]
sub eax, esi
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
jmp 0x539fb1
mov eax, dword [esp + 0x80]
mov dword [esp + 0x1c], eax
cmp ecx, 0x10
jb 0x53a001
movups xmm0, xmmword [ebp]
add eax, edx
cmp dword [esp + 0x1c], 0x10
mov dword [esp + 0x20], eax
movups xmmword [edx], xmm0
jle 0x539ff8
lea eax, [edx + 0x10]
mov edx, dword [esp + 0x20]
lea ecx, [ebp + 0x10]
nop dword [eax + eax]
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x20]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [eax + 0x10], xmm0
add eax, 0x20
cmp eax, edx
jb 0x539fe0
mov ebp, dword [esp + 0x10]
jmp 0x53a103
cmp ecx, 8
jae 0x53a034
movzx eax, byte [ebp]
mov byte [edx], al
movzx eax, byte [ebp + 1]
mov byte [edx + 1], al
movzx eax, byte [ebp + 2]
mov byte [edx + 2], al
movzx eax, byte [ebp + 3]
add ebp, dword [ecx*4 + 0x5785b4]
mov byte [edx + 3], al
mov eax, dword [ebp]
sub ebp, dword [ecx*4 + 0x5785d4]
jmp 0x53a03c
mov eax, dword [ebp]
mov dword [edx], eax
mov eax, dword [ebp + 4]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x1c]
cmp eax, 8
jbe 0x539ff8
add eax, 0xfffffff8
lea ecx, [edx + 8]
add ebp, 8
lea edx, [ecx + eax]
mov eax, ecx
sub eax, ebp
mov dword [esp + 0x20], edx
cmp eax, 0x10
jge 0x53a07f
sub ebp, ecx
mov eax, dword [ecx + ebp]
mov dword [ecx], eax
mov eax, dword [ecx + ebp + 4]
mov dword [ecx + 4], eax
add ecx, 8
cmp ecx, edx
jb 0x53a063
mov ebp, dword [esp + 0x10]
jmp 0x53a103
mov eax, dword [esp + 0x1c]
movups xmm0, xmmword [ebp]
mov edx, dword [esp + 0x20]
add eax, 0xfffffff8
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x539ff8
add ecx, 0x10
lea eax, [ebp + 0x10]
movups xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [eax - 0x10]
movups xmmword [ecx + 0x10], xmm0
add ecx, 0x20
cmp ecx, edx
jb 0x53a0a0
mov ebp, dword [esp + 0x10]
jmp 0x53a103
mov ecx, dword [esp + 0x20]
push dword [esp + 0x30]
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x44]
push dword [esp + 0x5c]
mov ebp, dword [esp + 0x18]
push dword [esp + 0x3c]
push dword [esp + 0x5c]
push eax
sub esp, 0xc
mov eax, esp
push ecx
push dword [esp + 0x5c]
movq qword [eax], xmm0
push ebp
mov dword [eax + 8], edx
call fcn.0053b9b0
mov esi, eax
add esp, 0x2c
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
cmp esi, 0xffffff88
ja 0x53adb8
add ebp, esi
sub dword [esp + 0xdc], 1
mov dword [esp + 0x10], ebp
je 0x53ad09
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
jmp 0x539870
mov eax, dword [esp + 0xdc]
test eax, eax
jle 0x53acfd
mov esi, dword [ecx + 0x760c]
sub esi, edx
je 0x53a181
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
sub eax, ecx
cmp esi, eax
jbe 0x53a162
mov esi, 0xffffffba
jmp 0x53adb8
push esi
push edx
push ecx
call fcn.0053bda0
mov ecx, dword [esp + 0x30]
add esp, 0xc
sub ecx, esi
add dword [esp + 0x10], esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x6c], ecx
jmp 0x53a185
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x60]
movq xmm0, qword [esp + 0x6c]
movq qword [esp + 0x7c], xmm0
lea edx, [esi + 0x17614]
mov dword [esi + 0x7610], 0
mov dword [esp + 0x50], edx
lea eax, [esi + 0x7614]
mov edx, dword [esp + 0x10]
lea esi, [ecx + ebp]
add edx, ecx
mov dword [esp + 0x40], eax
add eax, ecx
mov dword [esp + 0x28], edx
mov ebp, edx
mov dword [esp + 0x3c], esi
sub ebp, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ebp
cmp eax, dword [esp + 0x50]
ja 0x53a3fe
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
add ecx, esi
add eax, 0xffffffe0
cmp ecx, eax
ja 0x53a3fe
mov ecx, dword [esp + 0x38]
lea eax, [esi + 0x20]
sub ecx, dword [esp + 0x10]
cmp ecx, eax
jb 0x53a3fe
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
movups xmm0, xmmword [eax + 0x7614]
mov eax, dword [esp + 0x24]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jbe 0x53a26e
mov edx, dword [esp + 0x60]
add ecx, 0x10
add eax, 0xfffffff0
movups xmm0, xmmword [edx + 0x7624]
lea ebp, [ecx + eax]
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x20]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x53a26a
mov eax, dword [esp + 0x44]
add ecx, 0x10
add edx, 0x7634
movups xmm0, xmmword [edx]
lea edx, [edx + 0x20]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx - 0x10]
movups xmmword [ecx + 0x10], xmm0
add ecx, 0x20
cmp ecx, eax
jb 0x53a252
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], eax
mov eax, edx
sub eax, dword [esp + 0x34]
cmp ecx, eax
jbe 0x53a2e8
mov eax, edx
sub eax, dword [esp + 0x58]
cmp ecx, eax
ja 0x5397d9
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
add ebp, eax
lea eax, [ecx + ebp]
cmp eax, dword [esp + 0x30]
ja 0x53a2bd
push ecx
push ebp
push edx
call fcn.004ee190
mov ebp, dword [esp + 0x1c]
add esp, 0xc
jmp 0x53a43e
mov esi, dword [esp + 0x30]
sub esi, ebp
push esi
push ebp
push edx
call fcn.004ee190
mov edx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [esp + 0x1c]
add edx, esi
mov ebp, dword [esp + 0x34]
sub eax, esi
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
jmp 0x53a2ef
mov eax, dword [esp + 0x80]
mov dword [esp + 0x1c], eax
cmp ecx, 0x10
jb 0x53a337
movups xmm0, xmmword [ebp]
add eax, edx
cmp dword [esp + 0x1c], 0x10
mov dword [esp + 0x20], eax
movups xmmword [edx], xmm0
jle 0x53a32e
lea eax, [edx + 0x10]
mov edx, dword [esp + 0x20]
lea ecx, [ebp + 0x10]
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x20]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [eax + 0x10], xmm0
add eax, 0x20
cmp eax, edx
jb 0x53a316
mov ebp, dword [esp + 0x10]
jmp 0x53a43e
cmp ecx, 8
jae 0x53a36a
movzx eax, byte [ebp]
mov byte [edx], al
movzx eax, byte [ebp + 1]
mov byte [edx + 1], al
movzx eax, byte [ebp + 2]
mov byte [edx + 2], al
movzx eax, byte [ebp + 3]
add ebp, dword [ecx*4 + 0x5785b4]
mov byte [edx + 3], al
mov eax, dword [ebp]
sub ebp, dword [ecx*4 + 0x5785d4]
jmp 0x53a372
mov eax, dword [ebp]
mov dword [edx], eax
mov eax, dword [ebp + 4]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x1c]
cmp eax, 8
jbe 0x53a32e
add eax, 0xfffffff8
lea ecx, [edx + 8]
add ebp, 8
lea edx, [eax + ecx]
mov eax, ecx
sub eax, ebp
mov dword [esp + 0x20], edx
cmp eax, 0x10
jge 0x53a3bc
sub ebp, ecx
nop dword [eax]
mov eax, dword [ecx + ebp]
mov dword [ecx], eax
mov eax, dword [ecx + ebp + 4]
mov dword [ecx + 4], eax
add ecx, 8
cmp ecx, edx
jb 0x53a3a0
mov ebp, dword [esp + 0x10]
jmp 0x53a43e
mov eax, dword [esp + 0x1c]
movups xmm0, xmmword [ebp]
mov edx, dword [esp + 0x20]
add eax, 0xfffffff8
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x53a32e
add ecx, 0x10
lea eax, [ebp + 0x10]
nop dword [eax]
movups xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [eax - 0x10]
movups xmmword [ecx + 0x10], xmm0
add ecx, 0x20
cmp ecx, edx
jb 0x53a3e0
mov ebp, dword [esp + 0x10]
jmp 0x53a43e
push dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x44]
push dword [esp + 0x5c]
mov ebp, dword [esp + 0x18]
push dword [esp + 0x3c]
push dword [esp + 0x5c]
push eax
sub esp, 0xc
mov eax, esp
push dword [esp + 0x58]
movq qword [eax], xmm0
push ebp
mov dword [eax + 8], ecx
call fcn.0053b8a0
mov esi, eax
add esp, 0x28
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
cmp esi, 0xffffff88
ja 0x53adb8
mov eax, dword [esp + 0xdc]
add ebp, esi
dec eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0xdc], eax
test eax, eax
jle 0x53ad03
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x5c]
mov eax, dword [eax + edx*8 + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [ecx + eax*8 + 4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0xa8]
mov ebp, dword [ecx + esi*8 + 4]
mov ecx, dword [esp + 0xa0]
mov al, byte [ecx + eax*8 + 2]
mov ecx, dword [esp + 0xa8]
mov byte [esp + 0x1a], al
mov eax, dword [esp + 0xb0]
mov al, byte [eax + edx*8 + 2]
mov edx, dword [esp + 0xa0]
mov byte [esp + 0x1b], al
mov al, byte [ecx + esi*8 + 2]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0xb0]
movzx edx, word [edx + ecx*8]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x20], edx
movzx edx, word [esi + ecx*8]
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x64], edx
movzx edx, word [ecx + esi*8]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0xa0]
movzx edx, byte [edx + ecx*8 + 3]
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x4c]
movzx edx, byte [ecx + edx*8 + 3]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x44], edx
movzx edx, byte [ecx + esi*8 + 3]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3c], edx
cmp al, 1
jbe 0x53a6b3
cmp dword [esp + 0xe0], 0
je 0x53a5fa
cmp al, 0x19
jb 0x53a5fa
mov edx, dword [esp + 0x88]
mov ecx, ebx
and ecx, 0x1f
movzx eax, al
sub eax, 5
mov ebp, edx
shl ebp, cl
add ebx, eax
mov ecx, eax
mov eax, dword [esp + 0xa8]
neg ecx
and ecx, 0x1f
shr ebp, cl
shl ebp, 5
add ebp, dword [eax + esi*8 + 4]
cmp ebx, 0x20
jbe 0x53a598
mov edi, 0x5783a0
jmp 0x53a5d9
cmp edi, dword [esp + 0x98]
jb 0x53a5ad
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53a5d0
mov esi, dword [esp + 0x94]
cmp edi, esi
je 0x53a5e0
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, esi
jae 0x53a5c9
mov ecx, edi
sub ecx, esi
imul eax, ecx, 0xfffffff8
sub edi, ecx
add ebx, eax
mov edx, dword [edi]
mov dword [esp + 0x88], edx
mov dword [esp + 0x90], edi
mov ecx, ebx
mov eax, edx
and ecx, 0x1f
add ebx, 5
shl eax, cl
shr eax, 0x1b
add ebp, eax
mov dword [esp + 0x24], ebp
jmp 0x53a680
mov esi, dword [esp + 0x88]
mov ecx, ebx
movzx edx, al
and ecx, 0x1f
mov eax, esi
add ebx, edx
shl eax, cl
mov ecx, edx
neg ecx
mov dword [esp + 0x8c], ebx
and ecx, 0x1f
shr eax, cl
add ebp, eax
mov dword [esp + 0x24], ebp
cmp ebx, 0x20
jbe 0x53a638
mov edi, 0x5783a0
mov dword [esp + 0x90], edi
jmp 0x53a68e
cmp edi, dword [esp + 0x98]
jb 0x53a64d
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53a670
mov edx, dword [esp + 0x94]
cmp edi, edx
je 0x53a68e
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x53a669
mov ecx, edi
sub ecx, edx
imul eax, ecx, 0xfffffff8
sub edi, ecx
add ebx, eax
mov eax, dword [edi]
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], edi
mov esi, dword [esp + 0x88]
mov dword [esp + 0x8c], ebx
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x54], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb8], edx
jmp 0x53a752
mov esi, dword [esp + 0x88]
xor edx, edx
test ecx, ecx
sete dl
test al, al
jne 0x53a6ee
mov ecx, dword [esp + edx*4 + 0xb4]
xor eax, eax
test edx, edx
mov dword [esp + 0x24], ecx
sete al
mov edx, dword [esp + eax*4 + 0xb4]
mov dword [esp + 0xb8], edx
mov dword [esp + 0xb4], ecx
jmp 0x53a759
mov ecx, ebx
mov eax, esi
and ecx, 0x1f
inc ebx
shl eax, cl
shr eax, 0x1f
mov dword [esp + 0x8c], ebx
lea ecx, [eax + edx]
add ecx, ebp
cmp ecx, 3
jne 0x53a716
mov ebp, dword [esp + 0xb4]
dec ebp
jmp 0x53a71d
mov ebp, dword [esp + ecx*4 + 0xb4]
mov edx, dword [esp + 0x54]
xor eax, eax
test ebp, ebp
sete al
sub ebp, eax
mov eax, dword [esp + 0xb4]
cmp ecx, 1
mov dword [esp + 0x24], ebp
cmovne edx, dword [esp + 0xb8]
mov dword [esp + 0x54], edx
mov dword [esp + 0xbc], edx
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb4], ebp
mov al, byte [esp + 0x1b]
test al, al
je 0x53a793
movzx edx, al
mov ecx, ebx
and ecx, 0x1f
mov eax, esi
mov esi, dword [esp + 0x14]
add ebx, edx
shl eax, cl
mov ecx, edx
neg ecx
mov dword [esp + 0x8c], ebx
and ecx, 0x1f
shr eax, cl
add esi, eax
mov al, byte [esp + 0x1b]
mov dword [esp + 0x14], esi
mov dword [esp + 0x70], esi
jmp 0x53a797
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x1a]
movzx edx, cl
movzx eax, al
add eax, edx
cmp eax, 0x14
jl 0x53a7bd
cmp ebx, 0x20
jbe 0x53a88f
mov edi, 0x5783a0
mov dword [esp + 0x90], edi
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0x88]
test cl, cl
je 0x53a7f6
mov ecx, ebx
add ebx, edx
and ecx, 0x1f
mov dword [esp + 0x8c], ebx
shl eax, cl
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x1c]
add ecx, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x6c], ecx
cmp ebx, 0x20
jbe 0x53a905
mov edi, 0x5783a0
mov dword [esp + 0x90], edi
mov ebp, dword [esp + 0x88]
cmp dword [esp + 0xdc], 1
je 0x53aa4a
mov edx, dword [esp + 0x28]
mov eax, ebp
add edx, ebx
mov ebx, dword [esp + 0x44]
mov ecx, edx
add edx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x28]
and eax, dword [ecx*4 + 0x577c80]
mov ecx, dword [esp + 0x20]
movzx ecx, cx
add ecx, eax
mov eax, ebp
mov dword [esp + 0x48], ecx
mov dword [esp + 0x9c], ecx
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x64]
and eax, dword [ebx*4 + 0x577c80]
movzx ecx, cx
add ecx, eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xac], ecx
cmp edx, 0x20
jbe 0x53a970
mov edi, 0x5783a0
jmp 0x53a9b1
mov ebp, dword [esp + 0x94]
cmp edi, dword [esp + 0x98]
jb 0x53a8c5
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], ebx
mov eax, dword [edi]
mov dword [esp + 0x88], eax
jmp 0x53a7cb
cmp edi, ebp
je 0x53a7c4
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x53a8de
mov ecx, edi
sub ecx, ebp
imul eax, ecx, 0xfffffff8
sub edi, ecx
mov cl, byte [esp + 0x1a]
mov dword [esp + 0x90], edi
add ebx, eax
mov eax, dword [edi]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], eax
jmp 0x53a7cb
cmp edi, dword [esp + 0x98]
jb 0x53a934
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], ebx
mov ebp, dword [edi]
mov dword [esp + 0x88], ebp
jmp 0x53a812
cmp edi, ebp
je 0x53a80b
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x53a94d
mov ecx, edi
sub ecx, ebp
sub edi, ecx
imul eax, ecx, 0xfffffff8
mov dword [esp + 0x90], edi
mov ebp, dword [edi]
add ebx, eax
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebx
jmp 0x53a812
cmp edi, dword [esp + 0x98]
jb 0x53a985
mov eax, edx
shr eax, 3
sub edi, eax
and edx, 7
jmp 0x53a9a8
mov ebx, dword [esp + 0x94]
cmp edi, ebx
je 0x53a9b8
mov ecx, edx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x53a9a1
mov ecx, edi
sub ecx, ebx
imul eax, ecx, 0xfffffff8
sub edi, ecx
add edx, eax
mov ebp, dword [edi]
mov dword [esp + 0x88], ebp
mov dword [esp + 0x90], edi
mov ebx, dword [esp + 0x3c]
mov eax, ebp
add ebx, edx
mov ecx, ebx
mov dword [esp + 0x8c], ebx
neg ecx
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x3c]
and eax, dword [ecx*4 + 0x577c80]
mov ecx, dword [esp + 0x68]
movzx ecx, cx
add ecx, eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xa4], ecx
cmp ebx, 0x20
jbe 0x53a9fb
mov edi, 0x5783a0
jmp 0x53aa43
cmp edi, dword [esp + 0x98]
jb 0x53aa10
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53aa33
mov edx, dword [esp + 0x94]
cmp edi, edx
je 0x53aa4a
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x53aa2c
mov ecx, edi
sub ecx, edx
imul eax, ecx, 0xfffffff8
sub edi, ecx
add ebx, eax
mov eax, dword [edi]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], edi
mov eax, dword [esp + 0x1c]
add esi, eax
mov ecx, dword [esp + 0x10]
movq xmm0, qword [esp + 0x6c]
movq qword [esp + 0x7c], xmm0
mov dword [esp + 0x3c], esi
lea edx, [eax + ecx]
add eax, dword [esp + 0x2c]
mov ebp, edx
mov dword [esp + 0x28], edx
sub ebp, dword [esp + 0x24]
mov dword [esp + 0x64], eax
mov dword [esp + 0x20], ebp
cmp eax, dword [esp + 0x50]
ja 0x53ac9e
mov eax, dword [esp + 0x38]
add ecx, esi
add eax, 0xffffffe0
cmp ecx, eax
ja 0x53ac9e
mov ecx, dword [esp + 0x38]
lea eax, [esi + 0x20]
sub ecx, dword [esp + 0x10]
cmp ecx, eax
jb 0x53ac9e
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0x10]
movups xmmword [eax], xmm0
cmp ecx, 0x10
jbe 0x53ab0d
mov edx, dword [esp + 0x2c]
lea eax, [ecx - 0x10]
mov ecx, dword [esp + 0x10]
add ecx, 0x10
movups xmm0, xmmword [edx + 0x10]
lea ebp, [ecx + eax]
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x20]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x53ab09
mov eax, dword [esp + 0x44]
add ecx, 0x10
add edx, 0x20
movups xmm0, xmmword [edx]
lea edx, [edx + 0x20]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx - 0x10]
movups xmmword [ecx + 0x10], xmm0
add ecx, 0x20
cmp ecx, eax
jb 0x53aaf1
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], eax
mov eax, edx
sub eax, dword [esp + 0x34]
cmp ecx, eax
jbe 0x53ab8b
mov eax, edx
sub eax, dword [esp + 0x58]
cmp ecx, eax
ja 0x5397d9
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
add ebp, eax
lea eax, [ecx + ebp]
cmp eax, dword [esp + 0x30]
ja 0x53ab60
push ecx
push ebp
push edx
call fcn.004ee190
mov ebp, dword [esp + 0x1c]
add esp, 0xc
jmp 0x53acde
mov esi, dword [esp + 0x30]
sub esi, ebp
push esi
push ebp
push edx
call fcn.004ee190
mov edx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [esp + 0x14]
add edx, esi
mov ebp, dword [esp + 0x34]
sub eax, esi
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
jmp 0x53ab92
mov eax, dword [esp + 0x80]
mov dword [esp + 0x14], eax
cmp ecx, 0x10
jb 0x53abe1
movups xmm0, xmmword [ebp]
add eax, edx
cmp dword [esp + 0x14], 0x10
mov dword [esp + 0x20], eax
movups xmmword [edx], xmm0
jle 0x53abd8
lea eax, [edx + 0x10]
mov edx, dword [esp + 0x20]
lea ecx, [ebp + 0x10]
nop dword [eax]
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x20]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [eax + 0x10], xmm0
add eax, 0x20
cmp eax, edx
jb 0x53abc0
mov ebp, dword [esp + 0x10]
jmp 0x53acde
cmp ecx, 8
jae 0x53ac14
movzx eax, byte [ebp]
mov byte [edx], al
movzx eax, byte [ebp + 1]
mov byte [edx + 1], al
movzx eax, byte [ebp + 2]
mov byte [edx + 2], al
movzx eax, byte [ebp + 3]
add ebp, dword [ecx*4 + 0x5785b4]
mov byte [edx + 3], al
mov eax, dword [ebp]
sub ebp, dword [ecx*4 + 0x5785d4]
jmp 0x53ac1c
mov eax, dword [ebp]
mov dword [edx], eax
mov eax, dword [ebp + 4]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x14]
cmp eax, 8
jbe 0x53abd8
add eax, 0xfffffff8
lea ecx, [edx + 8]
add ebp, 8
lea edx, [ecx + eax]
mov eax, ecx
sub eax, ebp
mov dword [esp + 0x20], edx
cmp eax, 0x10
jge 0x53ac5f
sub ebp, ecx
mov eax, dword [ecx + ebp]
mov dword [ecx], eax
mov eax, dword [ecx + ebp + 4]
mov dword [ecx + 4], eax
add ecx, 8
cmp ecx, edx
jb 0x53ac43
mov ebp, dword [esp + 0x10]
jmp 0x53acde
mov eax, dword [esp + 0x14]
movups xmm0, xmmword [ebp]
mov edx, dword [esp + 0x20]
add eax, 0xfffffff8
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x53abd8
add ecx, 0x10
lea eax, [ebp + 0x10]
movups xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [eax - 0x10]
movups xmmword [ecx + 0x10], xmm0
add ecx, 0x20
cmp ecx, edx
jb 0x53ac80
mov ebp, dword [esp + 0x10]
jmp 0x53acde
push dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x44]
push dword [esp + 0x5c]
mov ebp, dword [esp + 0x18]
push dword [esp + 0x3c]
push dword [esp + 0x5c]
push eax
sub esp, 0xc
mov eax, esp
push dword [esp + 0x58]
movq qword [eax], xmm0
push ebp
mov dword [eax + 8], ecx
call fcn.0053b8a0
mov esi, eax
add esp, 0x28
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
cmp esi, 0xffffff88
ja 0x53adb8
add ebp, esi
sub dword [esp + 0xdc], 1
mov dword [esp + 0x10], ebp
jne 0x53a464
jmp 0x53ad09
mov ebp, dword [esp + 0x10]
test eax, eax
jne 0x5397d9
lea eax, [esp + 0x88]
push eax
call fcn.00543460
add esp, 4
test eax, eax
je 0x5397d9
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0xb4]
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x50]
mov dword [edi + 0x682c], eax
mov eax, dword [esp + 0xb8]
mov dword [edi + 0x6830], eax
mov eax, dword [esp + 0x54]
mov dword [edi + 0x6834], eax
cmp dword [edi + 0x7610], 2
jne 0x53ad91
mov eax, dword [esp + 0x38]
sub esi, ebx
sub eax, ebp
cmp esi, eax
ja 0x53a158
test ebp, ebp
je 0x53ad7b
push esi
push ebx
push ebp
call fcn.004ee190
add esp, 0xc
add ebp, esi
lea ebx, [edi + 0x7614]
mov dword [edi + 0x7610], 0
lea esi, [edi + 0x17614]
mov eax, dword [esp + 0x38]
sub esi, ebx
sub eax, ebp
cmp esi, eax
ja 0x53a158
test ebp, ebp
je 0x53adb2
push esi
push ebx
push ebp
call fcn.004effe0
add esp, 0xc
add ebp, esi
mov esi, ebp
sub esi, dword [esp + 0x78]
mov ecx, dword [esp + 0xc0]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0046ec22
add esp, 0xb4
ret