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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
push ebx
push esi
push edi
call fcn.004dde30
cmp eax, 0xa
jl 0x4f3115
push str.starting_rate_allocation_n
push 0xa
call fcn.004f70e0
add esp, 8
mov ebx, dword [ebp + 8]
mov esi, 1
mov eax, dword [ebp + 0xc]
dec eax
mov dword [esp + 0x3c], eax
mov edi, dword [ebx + 0xc]
mov dword [esp + 0x14], edi
cmp eax, esi
jbe 0x4f3160
mov ecx, dword [ebp + 0x10]
mov ebx, eax
mov eax, dword [ecx + esi*4 - 4]
cmp eax, dword [ecx + esi*4]
jbe 0x4f3158
push 0x67c
push str.C:DeveloperVisual_Package_vcpkg_buildtreesjasper_src5eb260a2e4_ca02e25be6.clean_srclibjasperjpcjpc_enc.c
push str.cumlens_lyrno___1____cumlens_lyrno_
call fcn.006adcf2
mov ecx, dword [ebp + 0x10]
add esp, 0xc
inc esi
cmp esi, ebx
jb 0x4f3135
mov ebx, dword [ebp + 8]
push 0
push 0
call fcn.004df120
mov esi, eax
add esp, 8
mov dword [esp + 0xc], esi
test esi, esi
jne 0x4f317e
or ebx, 0xffffffff
jmp 0x4f3c6e
imul ecx, dword [edi + 0x2c], 0x2d0
xorps xmm5, xmm5
mov eax, dword [edi + 0x30]
xorps xmm3, xmm3
movsd xmm4, qword [0x6ef998]
movsd qword [esp + 0x58], xmm4
movsd qword [esp + 0x60], xmm5
add ecx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
cmp eax, ecx
je 0x4f33dc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
shl ecx, 6
add ecx, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], ecx
cmp edx, ecx
je 0x4f33c2
mov eax, ecx
mov ecx, dword [edx + 0x38]
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x4f33af
mov eax, dword [edx + 0x34]
lea ebx, [eax + eax*2]
shl ebx, 4
add ebx, ecx
mov dword [esp + 0x30], ebx
cmp ecx, ebx
je 0x4f33ab
cmp dword [ecx + 4], 0
je 0x4f339c
mov eax, dword [ecx]
xor edi, edi
mov dword [esp + 0x20], edi
cmp dword [edx + 0x20], edi
jbe 0x4f339c
lea edx, [eax + 0x18]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], edx
nop dword [eax]
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x4f337b
mov ecx, dword [edx]
shl ecx, 4
sub ecx, dword [edx]
lea esi, [ebx + ecx*4]
mov dword [esp + 0x34], esi
cmp ebx, esi
je 0x4f3377
mov eax, dword [ebx]
movaps xmm2, xmm3
mov edi, dword [ebx + 4]
movsd qword [esp + 0x70], xmm2
lea eax, [eax + eax*8]
lea edx, [edi + eax*8]
mov dword [esp + 0x38], edx
cmp edi, edx
je 0x4f3326
mov ecx, dword [ebx + 4]
xor esi, esi
cmp ecx, edx
je 0x4f330e
nop
movsd xmm1, qword [ecx + 0x38]
mov eax, dword [ecx + 4]
test esi, esi
je 0x4f3284
subsd xmm1, qword [esi + 0x38]
sub eax, dword [esi + 4]
comisd xmm3, xmm1
jb 0x4f3299
movsd xmm0, qword [0x6eca30]
movsd qword [ecx + 0x28], xmm0
jmp 0x4f32ce
cmp ecx, edi
jae 0x4f32a4
comisd xmm3, xmmword [ecx + 0x28]
jae 0x4f32d8
test eax, eax
je 0x4f32e1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
test esi, esi
je 0x4f32be
comisd xmm1, xmm2
jae 0x4f3309
movaps xmm2, xmm1
movsd qword [ecx + 0x28], xmm1
mov esi, ecx
movsd qword [esp + 0x70], xmm2
cmp ecx, edi
lea eax, [ecx + 0x48]
cmovb eax, edi
mov edi, eax
add ecx, 0x48
cmp ecx, edx
jne 0x4f3270
jmp 0x4f330e
test esi, esi
jne 0x4f3309
push 0x605
push str.C:DeveloperVisual_Package_vcpkg_buildtreesjasper_src5eb260a2e4_ca02e25be6.clean_srclibjasperjpcjpc_enc.c
push str.pass0
call fcn.006adcf2
movsd xmm2, qword [esp + 0x7c]
add esp, 0xc
mov edx, dword [esp + 0x38]
xorps xmm3, xmm3
movsd qword [esi + 0x28], xmm3
cmp edi, edx
jne 0x4f3261
movsd xmm4, qword [esp + 0x58]
movsd xmm5, qword [esp + 0x60]
mov esi, dword [esp + 0x34]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
lea eax, [eax + eax*8]
lea eax, [ecx + eax*8]
cmp ecx, eax
je 0x4f3364
movsd xmm1, qword [ecx + 0x28]
comisd xmm1, xmm3
jbe 0x4f3351
movaps xmm0, xmm1
maxsd xmm1, xmm5
minsd xmm0, xmm4
movaps xmm5, xmm1
movaps xmm4, xmm0
add ecx, 0x48
cmp ecx, eax
jne 0x4f3335
movsd qword [esp + 0x60], xmm5
movsd qword [esp + 0x58], xmm4
add ebx, 0x3c
cmp ebx, esi
jne 0x4f3241
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
inc edi
add edx, 0x34
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], edx
cmp edi, dword [eax + 0x20]
jb 0x4f3220
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x30]
add ecx, 0x30
mov dword [esp + 0x24], ecx
cmp ecx, ebx
jne 0x4f31f6
mov eax, dword [esp + 0x1c]
add edx, 0x40
mov dword [esp + 0x10], edx
cmp edx, eax
jne 0x4f31d0
mov eax, dword [esp + 0x28]
add eax, 0x2d0
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x2c]
jne 0x4f31b4
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0xc]
call fcn.004dde30
cmp eax, 0xa
jl 0x4f340f
movsd xmm0, qword [esp + 0x60]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x68]
movsd qword [esp], xmm0
push str.min_rdslope___f_max_rdslope___f_n
push 0xa
call fcn.004f70e0
add esp, 0x18
push 1
push ebx
call fcn.00505450
xor ecx, ecx
add esp, 8
mov dword [esp + 0x10], ecx
cmp dword [ebp + 0xc], ecx
jbe 0x4f3abd
nop dword [eax]
movsd xmm1, qword [esp + 0x58]
xorps xmm2, xmm2
movsd xmm0, qword [esp + 0x60]
movsd qword [esp + 0x78], xmm1
movsd qword [esp + 0x70], xmm0
mov dword [esp + 0x1c], 0
movsd qword [esp + 0x50], xmm2
mov dword [esp + 0x38], 0
jmp 0x4f346e
mov ecx, dword [esp + 0x10]
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0xc]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x48], eax
cmp eax, 0xffffffff
je 0x4f37ee
addsd xmm0, xmm1
push ebx
mulsd xmm0, qword [0x6ebff0]
movsd qword [esp + 0x6c], xmm0
call fcn.00505760
push esi
call fcn.004df850
add esp, 8
mov dword [esp + 0x4c], eax
test eax, eax
jns 0x4f34c1
push 0x6ca
push str.C:DeveloperVisual_Package_vcpkg_buildtreesjasper_src5eb260a2e4_ca02e25be6.clean_srclibjasperjpcjpc_enc.c
push str.oldpos___0
call fcn.006adcf2
add esp, 0xc
mov edx, dword [esp + 0x14]
imul ecx, dword [edx + 0x2c], 0x2d0
mov eax, dword [edx + 0x30]
mov dword [esp + 0x34], eax
add ecx, eax
mov dword [esp + 0x44], ecx
cmp eax, ecx
je 0x4f3653
movsd xmm1, qword [esp + 0x68]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
shl ecx, 6
add ecx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], ecx
cmp edx, ecx
je 0x4f363c
mov eax, ecx
mov ecx, dword [edx + 0x38]
mov dword [esp + 0x30], ecx
test ecx, ecx
je 0x4f3629
mov eax, dword [edx + 0x34]
lea esi, [eax + eax*2]
shl esi, 4
add esi, ecx
mov dword [esp + 0x40], esi
cmp ecx, esi
je 0x4f3625
nop dword [eax]
cmp dword [ecx + 4], 0
je 0x4f3616
mov eax, dword [ecx]
xor ebx, ebx
mov dword [esp + 0x24], ebx
cmp dword [edx + 0x20], ebx
jbe 0x4f3616
lea edx, [eax + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], edx
nop word [eax + eax]
mov esi, dword [edx + 4]
test esi, esi
je 0x4f35f5
mov ecx, dword [edx]
shl ecx, 4
sub ecx, dword [edx]
lea eax, [esi + ecx*4]
mov dword [esp + 0x28], eax
cmp esi, eax
je 0x4f35f1
mov edx, dword [esi + 0x28]
test edx, edx
je 0x4f35e2
mov eax, dword [esi]
mov edi, edx
lea ecx, [eax + eax*8]
mov eax, dword [esi + 4]
lea ebx, [eax + ecx*8]
mov eax, edx
cmp eax, ebx
je 0x4f35b5
nop dword [eax + eax]
movsd xmm0, qword [eax + 0x28]
comisd xmm0, xmm1
jb 0x4f35ae
lea edi, [eax + 0x48]
add eax, 0x48
cmp eax, ebx
jne 0x4f35a0
cmp edx, edi
je 0x4f35ca
mov eax, dword [esp + 0x10]
nop dword [eax]
mov dword [edx + 0x20], eax
add edx, 0x48
cmp edx, edi
jne 0x4f35c0
cmp edx, ebx
je 0x4f35de
nop
mov dword [edx + 0x20], 0xffffffff
add edx, 0x48
cmp edx, ebx
jne 0x4f35d0
mov eax, dword [esp + 0x28]
add esi, 0x3c
cmp esi, eax
jne 0x4f3581
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
inc ebx
add edx, 0x34
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], edx
cmp ebx, dword [eax + 0x20]
jb 0x4f3560
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x40]
add ecx, 0x30
mov dword [esp + 0x30], ecx
cmp ecx, esi
jne 0x4f3530
mov eax, dword [esp + 0x20]
add edx, 0x40
mov dword [esp + 0x18], edx
cmp edx, eax
jne 0x4f3503
mov eax, dword [esp + 0x34]
add eax, 0x2d0
mov dword [esp + 0x34], eax
cmp eax, dword [esp + 0x44]
jne 0x4f34e7
mov edx, dword [esp + 0x14]
imul eax, dword [edx + 0x2c], 0x2d0
mov ebx, dword [edx + 0x30]
add eax, ebx
mov dword [esp + 0x40], eax
cmp ebx, eax
je 0x4f36f6
nop dword [eax + eax]
mov eax, dword [ebx]
mov edi, dword [ebx + 4]
shl eax, 6
add eax, edi
mov dword [esp + 0x44], eax
cmp edi, eax
je 0x4f36e6
cmp dword [edi + 0x38], 0
je 0x4f36df
xor esi, esi
cmp dword [edi + 0x20], esi
jbe 0x4f36df
push dword [esp + 0x10]
mov eax, edi
mov ecx, ebx
sub eax, dword [ebx + 4]
sub ecx, dword [edx + 0x30]
sar eax, 6
push esi
push eax
mov eax, 0xb60b60b7
imul ecx
add edx, ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push dword [esp + 0x1c]
push dword [ebp + 8]
call fcn.005048e0
add esp, 0x18
test eax, eax
jne 0x4f3aa9
mov edx, dword [esp + 0x14]
inc esi
cmp esi, dword [edi + 0x20]
jb 0x4f3693
mov eax, dword [esp + 0x44]
add edi, 0x40
cmp edi, eax
jne 0x4f3686
add ebx, 0x2d0
cmp ebx, dword [esp + 0x40]
jne 0x4f3670
push dword [esp + 0xc]
call fcn.004df850
mov esi, eax
add esp, 4
test esi, esi
jns 0x4f371f
push 0x70d
push str.C:DeveloperVisual_Package_vcpkg_buildtreesjasper_src5eb260a2e4_ca02e25be6.clean_srclibjasperjpcjpc_enc.c
push str.pos___0
call fcn.006adcf2
add esp, 0xc
mov edi, dword [esp + 0x48]
movsd xmm0, qword [esp + 0x68]
mov ebx, dword [esp + 0x1c]
cmp esi, edi
jbe 0x4f3739
movsd qword [esp + 0x78], xmm0
jmp 0x4f375e
movsd qword [esp + 0x70], xmm0
test ebx, ebx
je 0x4f374f
movsd xmm1, qword [esp + 0x50]
comisd xmm1, xmm0
jbe 0x4f375e
mov ebx, 1
movsd qword [esp + 0x50], xmm0
mov dword [esp + 0x1c], ebx
push dword [ebp + 8]
call fcn.00505640
push 0
push dword [esp + 0x54]
push dword [esp + 0x18]
call fcn.004df790
add esp, 0x10
test eax, eax
js 0x4f3aa9
call fcn.004dde30
cmp eax, 0xa
jl 0x4f37a9
movsd xmm0, qword [esp + 0x68]
sub esp, 8
movsd qword [esp], xmm0
push esi
push edi
push str.maxlen_08ld_actuallen_08ld_thresh_f_n
push 0xa
call fcn.004f70e0
add esp, 0x18
movsd xmm0, qword [esp + 0x70]
subsd xmm0, qword [0x6f7c90]
mov ecx, dword [esp + 0x38]
movsd xmm1, qword [esp + 0x78]
inc ecx
mov dword [esp + 0x38], ecx
comisd xmm0, xmm1
jbe 0x4f37db
movsd xmm0, qword [esp + 0x70]
cmp ecx, 0x20
jl 0x4f3463
test ebx, ebx
jne 0x4f3822
push str.warning:_empty_layer_generated_n
call fcn.004f71f0
add esp, 4
jmp 0x4f3822
cmp ecx, dword [esp + 0x3c]
je 0x4f380b
push 0x6bf
push str.C:DeveloperVisual_Package_vcpkg_buildtreesjasper_src5eb260a2e4_ca02e25be6.clean_srclibjasperjpcjpc_enc.c
push str.lyrno__numlyrs___1
call fcn.006adcf2
add esp, 0xc
movsd xmm0, qword [0x6eca30]
mov ebx, 1
movsd qword [esp + 0x50], xmm0
mov dword [esp + 0x1c], ebx
call fcn.004dde30
cmp eax, 0xa
jl 0x4f384a
movsd xmm0, qword [esp + 0x50]
sub esp, 8
movsd qword [esp], xmm0
push ebx
push str.success__d_goodthresh__f_n
push 0xa
call fcn.004f70e0
add esp, 0x14
mov edx, dword [esp + 0x14]
imul ecx, dword [edx + 0x2c], 0x2d0
mov eax, dword [edx + 0x30]
mov dword [esp + 0x28], eax
add ecx, eax
mov dword [esp + 0x48], ecx
cmp eax, ecx
je 0x4f39e3
nop word [eax + eax]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
shl ecx, 6
add ecx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], ecx
cmp edx, ecx
je 0x4f39cc
mov eax, ecx
nop dword [eax]
mov ecx, dword [edx + 0x38]
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x4f39b9
mov eax, dword [edx + 0x34]
lea esi, [eax + eax*2]
shl esi, 4
add esi, ecx
mov dword [esp + 0x4c], esi
cmp ecx, esi
je 0x4f39b5
cmp dword [ecx + 4], 0
je 0x4f39a6
mov eax, dword [ecx]
xor ebx, ebx
mov dword [esp + 0x34], ebx
cmp dword [edx + 0x20], ebx
jbe 0x4f39a6
lea edx, [eax + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], edx
nop dword [eax]
mov esi, dword [edx + 4]
test esi, esi
je 0x4f3985
mov ecx, dword [edx]
shl ecx, 4
sub ecx, dword [edx]
lea eax, [esi + ecx*4]
mov dword [esp + 0x38], eax
cmp esi, eax
je 0x4f3981
mov edx, dword [esi + 0x28]
test edx, edx
je 0x4f3972
cmp dword [esp + 0x1c], 0
mov ebx, edx
mov eax, dword [esi]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 4]
lea edi, [eax + ecx*8]
je 0x4f3945
mov eax, edx
cmp eax, edi
je 0x4f3945
movsd xmm1, qword [esp + 0x50]
nop dword [eax]
movsd xmm0, qword [eax + 0x28]
comisd xmm0, xmm1
jb 0x4f393e
lea ebx, [eax + 0x48]
add eax, 0x48
cmp eax, edi
jne 0x4f3930
cmp edx, ebx
je 0x4f395a
mov eax, dword [esp + 0x10]
nop dword [eax]
mov dword [edx + 0x20], eax
add edx, 0x48
cmp edx, ebx
jne 0x4f3950
cmp edx, edi
je 0x4f396e
nop
mov dword [edx + 0x20], 0xffffffff
add edx, 0x48
cmp edx, edi
jne 0x4f3960
mov eax, dword [esp + 0x38]
add esi, 0x3c
cmp esi, eax
jne 0x4f3901
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
inc ebx
add edx, 0x34
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], edx
cmp ebx, dword [eax + 0x20]
jb 0x4f38e0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x4c]
add ecx, 0x30
mov dword [esp + 0x2c], ecx
cmp ecx, esi
jne 0x4f38b6
mov eax, dword [esp + 0x20]
add edx, 0x40
mov dword [esp + 0x18], edx
cmp edx, eax
jne 0x4f3890
mov eax, dword [esp + 0x28]
add eax, 0x2d0
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x48]
jne 0x4f3870
mov edx, dword [esp + 0x14]
imul eax, dword [edx + 0x2c], 0x2d0
mov ebx, dword [edx + 0x30]
add eax, ebx
mov dword [esp + 0x48], eax
cmp ebx, eax
je 0x4f3a8f
nop dword [eax + eax]
mov eax, dword [ebx]
mov edi, dword [ebx + 4]
shl eax, 6
add eax, edi
mov dword [esp + 0x4c], eax
cmp edi, eax
je 0x4f3a7f
cmp dword [edi + 0x38], 0
je 0x4f3a78
xor esi, esi
cmp dword [edi + 0x20], esi
jbe 0x4f3a78
nop dword [eax + eax]
push dword [esp + 0x10]
mov eax, edi
mov ecx, ebx
sub eax, dword [ebx + 4]
sub ecx, dword [edx + 0x30]
sar eax, 6
push esi
push eax
mov eax, 0xb60b60b7
imul ecx
add edx, ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push dword [esp + 0x1c]
push dword [ebp + 8]
call fcn.005048e0
add esp, 0x18
test eax, eax
jne 0x4f3aa9
mov edx, dword [esp + 0x14]
inc esi
cmp esi, dword [edi + 0x20]
jb 0x4f3a30
mov eax, dword [esp + 0x4c]
add edi, 0x40
cmp edi, eax
jne 0x4f3a16
add ebx, 0x2d0
cmp ebx, dword [esp + 0x48]
jne 0x4f3a00
mov ecx, dword [esp + 0x10]
mov ebx, dword [ebp + 8]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [ebp + 0xc]
jae 0x4f3abd
mov esi, dword [esp + 0xc]
jmp 0x4f3430
or ebx, 0xffffffff
push dword [esp + 0xc]
call fcn.004de8a0
add esp, 4
jmp 0x4f3c6e
call fcn.004dde30
cmp eax, 5
jl 0x4f3c60
mov edi, dword [ebx + 0xc]
xor ebx, ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x1c], ebx
cmp dword [edi + 0x18], ebx
jbe 0x4f3c60
push ebx
push str.lyrno___02u_n
call fcn.004f7150
mov esi, dword [edi + 0x30]
xor edx, edx
add esp, 8
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], esi
cmp dword [edi + 0x2c], edx
jbe 0x4f3c52
mov eax, dword [esi + 4]
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp dword [esi], ecx
jbe 0x4f3c36
add eax, 0x34
mov dword [esp + 0x28], eax
nop dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0x2c], ebx
test ebx, ebx
je 0x4f3c1a
xor edx, edx
mov dword [esp + 0x20], edx
cmp dword [eax], edx
jbe 0x4f3c1a
nop dword [eax]
cmp dword [ebx + 4], 0
je 0x4f3bfe
mov edi, dword [ebx]
xor ecx, ecx
mov dword [esp + 0x34], ecx
cmp dword [eax - 0x14], ecx
jbe 0x4f3bfe
add edi, 0x18
mov dword [esp + 0x30], edi
mov esi, dword [edi + 4]
test esi, esi
je 0x4f3be1
xor ebx, ebx
cmp dword [edi], ebx
jbe 0x4f3be1
mov edx, dword [esi + 4]
xor eax, eax
mov dword [esp + 0x3c], eax
cmp dword [esi], eax
jbe 0x4f3bd5
add edx, 0x20
mov dword [esp + 0x38], edx
nop
mov edi, dword [esp + 0x1c]
cmp dword [edx], edi
jne 0x4f3bd1
push eax
push ebx
push ecx
push dword [esp + 0x2c]
push dword [esp + 0x28]
push dword [esp + 0x28]
push edi
push str.lyrno_02d_cmptno_02d_rlvlno_02d_bandno_02d_prcno_02d_cblkno_03d_passno_03d_n
call fcn.004f7150
mov eax, dword [esp + 0x5c]
add esp, 0x20
mov edx, dword [esp + 0x38]
inc eax
mov ecx, dword [esp + 0x34]
add edx, 0x48
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edx
cmp eax, dword [esi]
jb 0x4f3b90
mov edi, dword [esp + 0x30]
inc ebx
add esi, 0x3c
cmp ebx, dword [edi]
jb 0x4f3b77
mov eax, dword [esp + 0x28]
inc ecx
add edi, 0x34
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], edi
cmp ecx, dword [eax - 0x14]
jb 0x4f3b62
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
inc edx
add ebx, 0x30
mov dword [esp + 0x20], edx
mov dword [esp + 0x2c], ebx
cmp edx, dword [eax]
jb 0x4f3b40
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
inc ecx
add eax, 0x40
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], eax
cmp ecx, dword [esi]
jb 0x4f3b20
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x4c]
inc edx
add esi, 0x2d0
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], esi
cmp edx, dword [edi + 0x2c]
jb 0x4f3b05
mov ebx, dword [esp + 0x1c]
inc ebx
mov dword [esp + 0x1c], ebx
cmp ebx, dword [edi + 0x18]
jb 0x4f3ae1
push dword [esp + 0xc]
call fcn.004de8a0
add esp, 4
xor ebx, ebx
call fcn.004dde30
cmp eax, 0xa
jl 0x4f3c87
push str.finished_rate_allocation_n
push 0xa
call fcn.004f70e0
add esp, 8
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret