Function at 0x53d9d0
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 0x53da21
add eax, ebx
mov dword [esp + 0x38], eax
jmp 0x53da25
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 0x53f031
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.00536840
add esp, 0xc
cmp eax, 0xffffff88
jbe 0x53dac3
mov esi, 0xffffffec
jmp 0x53f098
push dword [edi]
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.0053fe30
push dword [edi + 8]
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.0053fe30
push dword [edi + 4]
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xcc]
push eax
call fcn.0053fe30
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 0x53ddaa
cmp dword [esp + 0xe0], 0
je 0x53dce6
cmp al, 0x19
jb 0x53dce6
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 0x53dc60
mov edi, 0x57c3f0
jmp 0x53dca1
cmp edi, dword [esp + 0x98]
jb 0x53dc75
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53dc98
mov ebp, dword [esp + 0x94]
cmp edi, ebp
je 0x53dca8
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x53dc91
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 0x53de3b
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 0x53dd39
mov eax, dword [esp + 0xb8]
mov edi, 0x57c3f0
mov dword [esp + 0x90], edi
mov dword [esp + 0x54], eax
mov dword [esp + 0xbc], eax
jmp 0x53de3b
cmp edi, dword [esp + 0x98]
jb 0x53dd59
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 0x53dd85
mov edx, dword [esp + 0x94]
cmp edi, edx
je 0x53dd93
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x53dd75
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 0x53de3b
mov esi, dword [esp + 0x88]
xor edx, edx
test ecx, ecx
sete dl
test al, al
jne 0x53dde5
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 0x53de50
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 0x53de0d
mov ebp, dword [esp + 0xb4]
dec ebp
jmp 0x53de14
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 0x53de7e
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 0x53dea4
cmp ebx, 0x20
jbe 0x53df72
mov edi, 0x57c3f0
mov dword [esp + 0x90], edi
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x24]
test cl, cl
je 0x53ded9
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 0x53dfe8
mov edi, 0x57c3f0
mov dword [esp + 0x90], edi
mov ebp, dword [esp + 0x88]
cmp dword [esp + 0xdc], 1
je 0x53e12d
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 + 0x57bcd0]
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 + 0x57bcd0]
movzx ecx, cx
add ecx, eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xac], ecx
cmp edx, 0x20
jbe 0x53e053
mov edi, 0x57c3f0
jmp 0x53e094
mov ebp, dword [esp + 0x94]
cmp edi, dword [esp + 0x98]
jb 0x53dfa8
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 0x53deb2
cmp edi, ebp
je 0x53deab
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x53dfc1
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 0x53deb2
cmp edi, dword [esp + 0x98]
jb 0x53e017
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 0x53def5
cmp edi, ebp
je 0x53deee
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x53e030
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 0x53def5
cmp edi, dword [esp + 0x98]
jb 0x53e068
mov eax, edx
shr eax, 3
sub edi, eax
and edx, 7
jmp 0x53e08b
mov ebx, dword [esp + 0x94]
cmp edi, ebx
je 0x53e09b
mov ecx, edx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x53e084
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 + 0x57bcd0]
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 0x53e0de
mov edi, 0x57c3f0
jmp 0x53e126
cmp edi, dword [esp + 0x98]
jb 0x53e0f3
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53e116
mov edx, dword [esp + 0x94]
cmp edi, edx
je 0x53e12d
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x53e10f
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 0x53e411
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 0x53e3a2
mov eax, dword [esp + 0x10]
add eax, esi
cmp eax, ecx
ja 0x53e3a2
mov ecx, dword [esp + 0x38]
lea eax, [esi + 0x20]
sub ecx, dword [esp + 0x10]
cmp ecx, eax
jb 0x53e39e
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 0x53e20c
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 0x53e208
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 0x53e1f0
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 0x53e28a
mov eax, edx
sub eax, dword [esp + 0x58]
cmp ecx, eax
ja 0x53dab9
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 0x53e25f
push ecx
push ebp
push edx
call fcn.004f1810
mov ebp, dword [esp + 0x1c]
add esp, 0xc
jmp 0x53e3e3
mov esi, dword [esp + 0x30]
sub esi, ebp
push esi
push ebp
push edx
call fcn.004f1810
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 0x53e291
mov eax, dword [esp + 0x80]
mov dword [esp + 0x1c], eax
cmp ecx, 0x10
jb 0x53e2e1
movups xmm0, xmmword [ebp]
add eax, edx
cmp dword [esp + 0x1c], 0x10
mov dword [esp + 0x20], eax
movups xmmword [edx], xmm0
jle 0x53e2d8
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 0x53e2c0
mov ebp, dword [esp + 0x10]
jmp 0x53e3e3
cmp ecx, 8
jae 0x53e314
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 + 0x57c604]
mov byte [edx + 3], al
mov eax, dword [ebp]
sub ebp, dword [ecx*4 + 0x57c624]
jmp 0x53e31c
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 0x53e2d8
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 0x53e35f
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 0x53e343
mov ebp, dword [esp + 0x10]
jmp 0x53e3e3
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 0x53e2d8
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 0x53e380
mov ebp, dword [esp + 0x10]
jmp 0x53e3e3
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.0053fc90
mov esi, eax
add esp, 0x2c
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
cmp esi, 0xffffff88
ja 0x53f098
add ebp, esi
sub dword [esp + 0xdc], 1
mov dword [esp + 0x10], ebp
je 0x53efe9
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
jmp 0x53db50
mov eax, dword [esp + 0xdc]
test eax, eax
jle 0x53efdd
mov esi, dword [ecx + 0x760c]
sub esi, edx
je 0x53e461
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
sub eax, ecx
cmp esi, eax
jbe 0x53e442
mov esi, 0xffffffba
jmp 0x53f098
push esi
push edx
push ecx
call fcn.00540080
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 0x53e465
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 0x53e6de
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
add ecx, esi
add eax, 0xffffffe0
cmp ecx, eax
ja 0x53e6de
mov ecx, dword [esp + 0x38]
lea eax, [esi + 0x20]
sub ecx, dword [esp + 0x10]
cmp ecx, eax
jb 0x53e6de
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 0x53e54e
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 0x53e54a
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 0x53e532
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 0x53e5c8
mov eax, edx
sub eax, dword [esp + 0x58]
cmp ecx, eax
ja 0x53dab9
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 0x53e59d
push ecx
push ebp
push edx
call fcn.004f1810
mov ebp, dword [esp + 0x1c]
add esp, 0xc
jmp 0x53e71e
mov esi, dword [esp + 0x30]
sub esi, ebp
push esi
push ebp
push edx
call fcn.004f1810
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 0x53e5cf
mov eax, dword [esp + 0x80]
mov dword [esp + 0x1c], eax
cmp ecx, 0x10
jb 0x53e617
movups xmm0, xmmword [ebp]
add eax, edx
cmp dword [esp + 0x1c], 0x10
mov dword [esp + 0x20], eax
movups xmmword [edx], xmm0
jle 0x53e60e
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 0x53e5f6
mov ebp, dword [esp + 0x10]
jmp 0x53e71e
cmp ecx, 8
jae 0x53e64a
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 + 0x57c604]
mov byte [edx + 3], al
mov eax, dword [ebp]
sub ebp, dword [ecx*4 + 0x57c624]
jmp 0x53e652
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 0x53e60e
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 0x53e69c
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 0x53e680
mov ebp, dword [esp + 0x10]
jmp 0x53e71e
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 0x53e60e
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 0x53e6c0
mov ebp, dword [esp + 0x10]
jmp 0x53e71e
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.0053fb80
mov esi, eax
add esp, 0x28
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
cmp esi, 0xffffff88
ja 0x53f098
mov eax, dword [esp + 0xdc]
add ebp, esi
dec eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0xdc], eax
test eax, eax
jle 0x53efe3
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 0x53e993
cmp dword [esp + 0xe0], 0
je 0x53e8da
cmp al, 0x19
jb 0x53e8da
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 0x53e878
mov edi, 0x57c3f0
jmp 0x53e8b9
cmp edi, dword [esp + 0x98]
jb 0x53e88d
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53e8b0
mov esi, dword [esp + 0x94]
cmp edi, esi
je 0x53e8c0
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, esi
jae 0x53e8a9
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 0x53e960
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 0x53e918
mov edi, 0x57c3f0
mov dword [esp + 0x90], edi
jmp 0x53e96e
cmp edi, dword [esp + 0x98]
jb 0x53e92d
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53e950
mov edx, dword [esp + 0x94]
cmp edi, edx
je 0x53e96e
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x53e949
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 0x53ea32
mov esi, dword [esp + 0x88]
xor edx, edx
test ecx, ecx
sete dl
test al, al
jne 0x53e9ce
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 0x53ea39
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 0x53e9f6
mov ebp, dword [esp + 0xb4]
dec ebp
jmp 0x53e9fd
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 0x53ea73
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 0x53ea77
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x1a]
movzx edx, cl
movzx eax, al
add eax, edx
cmp eax, 0x14
jl 0x53ea9d
cmp ebx, 0x20
jbe 0x53eb6f
mov edi, 0x57c3f0
mov dword [esp + 0x90], edi
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0x88]
test cl, cl
je 0x53ead6
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 0x53ebe5
mov edi, 0x57c3f0
mov dword [esp + 0x90], edi
mov ebp, dword [esp + 0x88]
cmp dword [esp + 0xdc], 1
je 0x53ed2a
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 + 0x57bcd0]
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 + 0x57bcd0]
movzx ecx, cx
add ecx, eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xac], ecx
cmp edx, 0x20
jbe 0x53ec50
mov edi, 0x57c3f0
jmp 0x53ec91
mov ebp, dword [esp + 0x94]
cmp edi, dword [esp + 0x98]
jb 0x53eba5
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 0x53eaab
cmp edi, ebp
je 0x53eaa4
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x53ebbe
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 0x53eaab
cmp edi, dword [esp + 0x98]
jb 0x53ec14
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 0x53eaf2
cmp edi, ebp
je 0x53eaeb
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebp
jae 0x53ec2d
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 0x53eaf2
cmp edi, dword [esp + 0x98]
jb 0x53ec65
mov eax, edx
shr eax, 3
sub edi, eax
and edx, 7
jmp 0x53ec88
mov ebx, dword [esp + 0x94]
cmp edi, ebx
je 0x53ec98
mov ecx, edx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, ebx
jae 0x53ec81
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 + 0x57bcd0]
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 0x53ecdb
mov edi, 0x57c3f0
jmp 0x53ed23
cmp edi, dword [esp + 0x98]
jb 0x53ecf0
mov eax, ebx
shr eax, 3
sub edi, eax
and ebx, 7
jmp 0x53ed13
mov edx, dword [esp + 0x94]
cmp edi, edx
je 0x53ed2a
mov ecx, ebx
mov eax, edi
shr ecx, 3
sub eax, ecx
cmp eax, edx
jae 0x53ed0c
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 0x53ef7e
mov eax, dword [esp + 0x38]
add ecx, esi
add eax, 0xffffffe0
cmp ecx, eax
ja 0x53ef7e
mov ecx, dword [esp + 0x38]
lea eax, [esi + 0x20]
sub ecx, dword [esp + 0x10]
cmp ecx, eax
jb 0x53ef7e
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 0x53eded
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 0x53ede9
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 0x53edd1
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 0x53ee6b
mov eax, edx
sub eax, dword [esp + 0x58]
cmp ecx, eax
ja 0x53dab9
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 0x53ee40
push ecx
push ebp
push edx
call fcn.004f1810
mov ebp, dword [esp + 0x1c]
add esp, 0xc
jmp 0x53efbe
mov esi, dword [esp + 0x30]
sub esi, ebp
push esi
push ebp
push edx
call fcn.004f1810
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 0x53ee72
mov eax, dword [esp + 0x80]
mov dword [esp + 0x14], eax
cmp ecx, 0x10
jb 0x53eec1
movups xmm0, xmmword [ebp]
add eax, edx
cmp dword [esp + 0x14], 0x10
mov dword [esp + 0x20], eax
movups xmmword [edx], xmm0
jle 0x53eeb8
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 0x53eea0
mov ebp, dword [esp + 0x10]
jmp 0x53efbe
cmp ecx, 8
jae 0x53eef4
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 + 0x57c604]
mov byte [edx + 3], al
mov eax, dword [ebp]
sub ebp, dword [ecx*4 + 0x57c624]
jmp 0x53eefc
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 0x53eeb8
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 0x53ef3f
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 0x53ef23
mov ebp, dword [esp + 0x10]
jmp 0x53efbe
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 0x53eeb8
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 0x53ef60
mov ebp, dword [esp + 0x10]
jmp 0x53efbe
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.0053fb80
mov esi, eax
add esp, 0x28
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
cmp esi, 0xffffff88
ja 0x53f098
add ebp, esi
sub dword [esp + 0xdc], 1
mov dword [esp + 0x10], ebp
jne 0x53e744
jmp 0x53efe9
mov ebp, dword [esp + 0x10]
test eax, eax
jne 0x53dab9
lea eax, [esp + 0x88]
push eax
call fcn.0053ac50
add esp, 4
test eax, eax
je 0x53dab9
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 0x53f071
mov eax, dword [esp + 0x38]
sub esi, ebx
sub eax, ebp
cmp esi, eax
ja 0x53e438
test ebp, ebp
je 0x53f05b
push esi
push ebx
push ebp
call fcn.004f1810
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 0x53e438
test ebp, ebp
je 0x53f092
push esi
push ebx
push ebp
call fcn.004f3650
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.00472272
add esp, 0xb4
ret