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

Disassembly:
sub esp, 0xb4
mov eax, dword [0x13413f8]
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 0x53db51
add eax, ebx
mov dword [esp + 0x38], eax
jmp 0x53db55
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 0x53f161
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.00536990
add esp, 0xc
cmp eax, 0xffffff88
jbe 0x53dbf3
mov esi, 0xffffffec
jmp 0x53f1c8
push dword [edi]
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.0053ff60
push dword [edi + 8]
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.0053ff60
push dword [edi + 4]
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xcc]
push eax
call fcn.0053ff60
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 0x53deda
cmp dword [esp + 0xe0], 0
je 0x53de16
cmp al, 0x19
jb 0x53de16
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 0x53dd90
mov edi, 0x57c4a8
jmp 0x53ddd1
cmp edi, dword [esp + 0x98]
jb 0x53dda5
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53ddc8
mov ebp, dword [esp + 0x94]
cmp edi, ebp
je 0x53ddd8
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x53ddc1
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 0x53df6b
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 0x53de69
mov eax, dword [esp + 0xb8]
mov edi, 0x57c4a8
mov dword [esp + 0x90], edi
mov dword [esp + 0x54], eax
mov dword [esp + 0xbc], eax
jmp 0x53df6b
cmp edi, dword [esp + 0x98]
jb 0x53de89
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 0x53deb5
mov edx, dword [esp + 0x94]
cmp edi, edx
je 0x53dec3
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x53dea5
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 0x53df6b
mov esi, dword [esp + 0x88]
xor edx, edx
test ecx, ecx
sete dl
test al, al
jne 0x53df15
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 0x53df80
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 0x53df3d
mov ebp, dword [esp + 0xb4]
dec ebp
jmp 0x53df44
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 0x53dfae
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 0x53dfd4
cmp ebx, 0x20
jbe 0x53e0a2
mov edi, 0x57c4a8
mov dword [esp + 0x90], edi
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x24]
test cl, cl
je 0x53e009
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 0x53e118
mov edi, 0x57c4a8
mov dword [esp + 0x90], edi
mov ebp, dword [esp + 0x88]
cmp dword [esp + 0xdc], 1
je 0x53e25d
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 + 0x57bd88]
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 + 0x57bd88]
movzx ecx, cx
add ecx, eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xac], ecx
cmp edx, 0x20
jbe 0x53e183
mov edi, 0x57c4a8
jmp 0x53e1c4
mov ebp, dword [esp + 0x94]
cmp edi, dword [esp + 0x98]
jb 0x53e0d8
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 0x53dfe2
cmp edi, ebp
je 0x53dfdb
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x53e0f1
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 0x53dfe2
cmp edi, dword [esp + 0x98]
jb 0x53e147
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 0x53e025
cmp edi, ebp
je 0x53e01e
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x53e160
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 0x53e025
cmp edi, dword [esp + 0x98]
jb 0x53e198
mov eax, edx
shr eax, 3
sub edi, eax
and edx, 7
jmp 0x53e1bb
mov ebx, dword [esp + 0x94]
cmp edi, ebx
je 0x53e1cb
mov ecx, edx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x53e1b4
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 + 0x57bd88]
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 0x53e20e
mov edi, 0x57c4a8
jmp 0x53e256
cmp edi, dword [esp + 0x98]
jb 0x53e223
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53e246
mov edx, dword [esp + 0x94]
cmp edi, edx
je 0x53e25d
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x53e23f
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 0x53e541
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 0x53e4d2
mov eax, dword [esp + 0x10]
add eax, esi
cmp eax, ecx
ja 0x53e4d2
mov ecx, dword [esp + 0x38]
lea eax, [esi + 0x20]
sub ecx, dword [esp + 0x10]
cmp ecx, eax
jb 0x53e4ce
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 0x53e33c
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 0x53e338
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 0x53e320
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 0x53e3ba
mov eax, edx
sub eax, dword [esp + 0x58]
cmp ecx, eax
ja 0x53dbe9
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 0x53e38f
push ecx
push ebp
push edx
call fcn.004f1990
mov ebp, dword [esp + 0x1c]
add esp, 0xc
jmp 0x53e513
mov esi, dword [esp + 0x30]
sub esi, ebp
push esi
push ebp
push edx
call fcn.004f1990
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 0x53e3c1
mov eax, dword [esp + 0x80]
mov dword [esp + 0x1c], eax
cmp ecx, 0x10
jb 0x53e411
movups xmm0, xmmword [ebp]
add eax, edx
cmp dword [esp + 0x1c], 0x10
mov dword [esp + 0x20], eax
movups xmmword [edx], xmm0
jle 0x53e408
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 0x53e3f0
mov ebp, dword [esp + 0x10]
jmp 0x53e513
cmp ecx, 8
jae 0x53e444
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 + 0x57c6bc]
mov byte [edx + 3], al
mov eax, dword [ebp]
sub ebp, dword [ecx*4 + 0x57c6dc]
jmp 0x53e44c
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 0x53e408
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 0x53e48f
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 0x53e473
mov ebp, dword [esp + 0x10]
jmp 0x53e513
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 0x53e408
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 0x53e4b0
mov ebp, dword [esp + 0x10]
jmp 0x53e513
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.0053fdc0
mov esi, eax
add esp, 0x2c
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
cmp esi, 0xffffff88
ja 0x53f1c8
add ebp, esi
sub dword [esp + 0xdc], 1
mov dword [esp + 0x10], ebp
je 0x53f119
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
jmp 0x53dc80
mov eax, dword [esp + 0xdc]
test eax, eax
jle 0x53f10d
mov esi, dword [ecx + 0x760c]
sub esi, edx
je 0x53e591
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
sub eax, ecx
cmp esi, eax
jbe 0x53e572
mov esi, 0xffffffba
jmp 0x53f1c8
push esi
push edx
push ecx
call fcn.005401b0
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 0x53e595
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 0x53e80e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
add ecx, esi
add eax, 0xffffffe0
cmp ecx, eax
ja 0x53e80e
mov ecx, dword [esp + 0x38]
lea eax, [esi + 0x20]
sub ecx, dword [esp + 0x10]
cmp ecx, eax
jb 0x53e80e
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 0x53e67e
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 0x53e67a
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 0x53e662
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 0x53e6f8
mov eax, edx
sub eax, dword [esp + 0x58]
cmp ecx, eax
ja 0x53dbe9
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 0x53e6cd
push ecx
push ebp
push edx
call fcn.004f1990
mov ebp, dword [esp + 0x1c]
add esp, 0xc
jmp 0x53e84e
mov esi, dword [esp + 0x30]
sub esi, ebp
push esi
push ebp
push edx
call fcn.004f1990
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 0x53e6ff
mov eax, dword [esp + 0x80]
mov dword [esp + 0x1c], eax
cmp ecx, 0x10
jb 0x53e747
movups xmm0, xmmword [ebp]
add eax, edx
cmp dword [esp + 0x1c], 0x10
mov dword [esp + 0x20], eax
movups xmmword [edx], xmm0
jle 0x53e73e
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 0x53e726
mov ebp, dword [esp + 0x10]
jmp 0x53e84e
cmp ecx, 8
jae 0x53e77a
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 + 0x57c6bc]
mov byte [edx + 3], al
mov eax, dword [ebp]
sub ebp, dword [ecx*4 + 0x57c6dc]
jmp 0x53e782
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 0x53e73e
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 0x53e7cc
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 0x53e7b0
mov ebp, dword [esp + 0x10]
jmp 0x53e84e
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 0x53e73e
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 0x53e7f0
mov ebp, dword [esp + 0x10]
jmp 0x53e84e
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.0053fcb0
mov esi, eax
add esp, 0x28
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
cmp esi, 0xffffff88
ja 0x53f1c8
mov eax, dword [esp + 0xdc]
add ebp, esi
dec eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0xdc], eax
test eax, eax
jle 0x53f113
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 0x53eac3
cmp dword [esp + 0xe0], 0
je 0x53ea0a
cmp al, 0x19
jb 0x53ea0a
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 0x53e9a8
mov edi, 0x57c4a8
jmp 0x53e9e9
cmp edi, dword [esp + 0x98]
jb 0x53e9bd
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53e9e0
mov esi, dword [esp + 0x94]
cmp edi, esi
je 0x53e9f0
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, esi
jae 0x53e9d9
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 0x53ea90
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 0x53ea48
mov edi, 0x57c4a8
mov dword [esp + 0x90], edi
jmp 0x53ea9e
cmp edi, dword [esp + 0x98]
jb 0x53ea5d
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53ea80
mov edx, dword [esp + 0x94]
cmp edi, edx
je 0x53ea9e
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x53ea79
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 0x53eb62
mov esi, dword [esp + 0x88]
xor edx, edx
test ecx, ecx
sete dl
test al, al
jne 0x53eafe
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 0x53eb69
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 0x53eb26
mov ebp, dword [esp + 0xb4]
dec ebp
jmp 0x53eb2d
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 0x53eba3
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 0x53eba7
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x1a]
movzx edx, cl
movzx eax, al
add eax, edx
cmp eax, 0x14
jl 0x53ebcd
cmp ebx, 0x20
jbe 0x53ec9f
mov edi, 0x57c4a8
mov dword [esp + 0x90], edi
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0x88]
test cl, cl
je 0x53ec06
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 0x53ed15
mov edi, 0x57c4a8
mov dword [esp + 0x90], edi
mov ebp, dword [esp + 0x88]
cmp dword [esp + 0xdc], 1
je 0x53ee5a
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 + 0x57bd88]
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 + 0x57bd88]
movzx ecx, cx
add ecx, eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xac], ecx
cmp edx, 0x20
jbe 0x53ed80
mov edi, 0x57c4a8
jmp 0x53edc1
mov ebp, dword [esp + 0x94]
cmp edi, dword [esp + 0x98]
jb 0x53ecd5
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 0x53ebdb
cmp edi, ebp
je 0x53ebd4
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x53ecee
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 0x53ebdb
cmp edi, dword [esp + 0x98]
jb 0x53ed44
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 0x53ec22
cmp edi, ebp
je 0x53ec1b
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x53ed5d
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 0x53ec22
cmp edi, dword [esp + 0x98]
jb 0x53ed95
mov eax, edx
shr eax, 3
sub edi, eax
and edx, 7
jmp 0x53edb8
mov ebx, dword [esp + 0x94]
cmp edi, ebx
je 0x53edc8
mov ecx, edx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x53edb1
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 + 0x57bd88]
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 0x53ee0b
mov edi, 0x57c4a8
jmp 0x53ee53
cmp edi, dword [esp + 0x98]
jb 0x53ee20
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53ee43
mov edx, dword [esp + 0x94]
cmp edi, edx
je 0x53ee5a
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x53ee3c
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 0x53f0ae
mov eax, dword [esp + 0x38]
add ecx, esi
add eax, 0xffffffe0
cmp ecx, eax
ja 0x53f0ae
mov ecx, dword [esp + 0x38]
lea eax, [esi + 0x20]
sub ecx, dword [esp + 0x10]
cmp ecx, eax
jb 0x53f0ae
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 0x53ef1d
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 0x53ef19
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 0x53ef01
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 0x53ef9b
mov eax, edx
sub eax, dword [esp + 0x58]
cmp ecx, eax
ja 0x53dbe9
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 0x53ef70
push ecx
push ebp
push edx
call fcn.004f1990
mov ebp, dword [esp + 0x1c]
add esp, 0xc
jmp 0x53f0ee
mov esi, dword [esp + 0x30]
sub esi, ebp
push esi
push ebp
push edx
call fcn.004f1990
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 0x53efa2
mov eax, dword [esp + 0x80]
mov dword [esp + 0x14], eax
cmp ecx, 0x10
jb 0x53eff1
movups xmm0, xmmword [ebp]
add eax, edx
cmp dword [esp + 0x14], 0x10
mov dword [esp + 0x20], eax
movups xmmword [edx], xmm0
jle 0x53efe8
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 0x53efd0
mov ebp, dword [esp + 0x10]
jmp 0x53f0ee
cmp ecx, 8
jae 0x53f024
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 + 0x57c6bc]
mov byte [edx + 3], al
mov eax, dword [ebp]
sub ebp, dword [ecx*4 + 0x57c6dc]
jmp 0x53f02c
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 0x53efe8
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 0x53f06f
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 0x53f053
mov ebp, dword [esp + 0x10]
jmp 0x53f0ee
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 0x53efe8
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 0x53f090
mov ebp, dword [esp + 0x10]
jmp 0x53f0ee
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.0053fcb0
mov esi, eax
add esp, 0x28
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
cmp esi, 0xffffff88
ja 0x53f1c8
add ebp, esi
sub dword [esp + 0xdc], 1
mov dword [esp + 0x10], ebp
jne 0x53e874
jmp 0x53f119
mov ebp, dword [esp + 0x10]
test eax, eax
jne 0x53dbe9
lea eax, [esp + 0x88]
push eax
call fcn.00544090
add esp, 4
test eax, eax
je 0x53dbe9
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 0x53f1a1
mov eax, dword [esp + 0x38]
sub esi, ebx
sub eax, ebp
cmp esi, eax
ja 0x53e568
test ebp, ebp
je 0x53f18b
push esi
push ebx
push ebp
call fcn.004f1990
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 0x53e568
test ebp, ebp
je 0x53f1c2
push esi
push ebx
push ebp
call fcn.004f37d0
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.00472312
add esp, 0xb4
ret