Function at 0x4d0730
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1360
call fcn.004d3ef0
mov eax, dword [0x51df40]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
push ebx
mov dword [ebp - 0x1358], eax
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 0x10]
push edi
mov ebx, dword [eax + 0x504]
mov edi, dword [eax + 0x510]
mov edx, dword [eax + 0x508]
mov dword [ebp - 0x1324], eax
mov dword [ebp - 0x135c], esi
mov dword [ebp - 0x134c], ecx
mov dword [ebp - 0x1328], edi
mov dword [ebp - 0x1338], edx
mov dword [ebp - 0x1340], ebx
mov dword [ebp - 0x131c], 0
test ebx, ebx
jle 0x4d0aa2
lea edx, [ebx*4]
mov eax, 0xffffff38
mov ecx, edx
lea edi, [ebp - 0x108]
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x20c]
shr ecx, 2
rep stosd dword es:[edi], eax
shr edx, 2
lea edi, [ebp - 0x414]
xor eax, eax
mov ecx, edx
mov edx, dword [ebp - 0x1338]
rep stosd dword es:[edi], eax
mov eax, 1
lea edi, [ebp - 0x310]
mov ecx, ebx
rep stosd dword es:[edi], eax
or eax, 0xffffffff
lea edi, [ebp - 0x518]
mov ecx, ebx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x1328]
mov eax, dword [ebp - 0x1324]
lea ecx, [ebx - 1]
xor esi, esi
mov dword [ebp - 0x1338], ecx
test ecx, ecx
jle 0x4d0fa1
lea ebx, [ebp - 0x1318]
push edi
push edx
push ebx
push dword [eax + esi*4 + 4]
push dword [eax + esi*4]
push dword [ebp - 0x135c]
push dword [ebp - 0x134c]
call fcn.004cfb60
mov ecx, dword [ebp - 0x131c]
inc esi
add ecx, eax
add esp, 0x1c
mov eax, dword [ebp - 0x1324]
add ebx, 0x38
mov dword [ebp - 0x131c], ecx
mov edx, dword [eax + 0x508]
cmp esi, dword [ebp - 0x1338]
jl 0x4d0820
mov ebx, dword [ebp - 0x1340]
test ecx, ecx
je 0x4d0fa1
lea ecx, [ebx - 1]
xorps xmm2, xmm2
lea eax, [ecx*8]
mov dword [ebp - 0x1338], ecx
sub eax, ecx
movsd qword [ebp - 0x1330], xmm2
xorps xmm3, xmm3
xorps xmm4, xmm4
xorps xmm7, xmm7
xorps xmm5, xmm5
xorps xmm6, xmm6
mov eax, dword [ebp + eax*8 - 0x134c]
mov dword [ebp - 0x1334], eax
test ecx, ecx
jle 0x4d099f
lea esi, [ebp - 0x12e4]
movaps xmm3, xmm2
mov ebx, ecx
nop
mov ecx, dword [esi - 0x18]
xorps xmm1, xmm1
mov edx, dword [esi]
xorps xmm0, xmm0
lea eax, [ecx + edx]
cvtsi2ss xmm1, eax
lea eax, [ecx + 1]
cvtsi2ss xmm0, eax
mulss xmm1, dword [edi + 0x454]
divss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [esi - 0x14]
cvtps2pd xmm2, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [esi - 0x2c]
addsd xmm2, qword [0x4df170]
mulsd xmm1, xmm2
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [esi - 0x10]
addsd xmm4, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [esi - 0x28]
mulsd xmm1, xmm2
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [esi - 0xc]
addsd xmm7, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [esi - 0x24]
mulsd xmm1, xmm2
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [esi - 4]
addsd xmm5, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [esi - 0x1c]
add esi, 0x38
mulsd xmm1, xmm2
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, edx
addsd xmm3, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, ecx
mulsd xmm1, xmm2
addsd xmm1, xmm0
addsd xmm6, xmm1
sub ebx, 1
jne 0x4d08c0
mov ebx, dword [ebp - 0x1340]
movsd qword [ebp - 0x1330], xmm3
xorps xmm3, xmm3
movsd xmm2, qword [ebp - 0x1330]
movaps xmm1, xmm6
movaps xmm0, xmm4
mulsd xmm1, xmm5
mulsd xmm0, xmm4
subsd xmm1, xmm0
comisd xmm1, xmm3
jbe 0x4d0ac5
mulsd xmm5, xmm7
movaps xmm0, xmm2
sub esp, 8
mulsd xmm6, xmm2
mulsd xmm7, xmm4
mulsd xmm0, xmm4
subsd xmm6, xmm7
subsd xmm5, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [ebp - 0x1318]
divsd xmm6, xmm1
divsd xmm5, xmm1
mulsd xmm0, xmm6
movsd qword [ebp - 0x1348], xmm5
movsd qword [ebp - 0x133c], xmm6
addsd xmm0, xmm5
addsd xmm0, qword [0x500c60]
movsd qword [ebp - 0x1330], xmm0
fld qword [ebp - 0x1330]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [ebp - 0x1334]
fstp qword [ebp - 0x1330]
mulsd xmm0, qword [ebp - 0x133c]
cvttsd2si esi, qword [ebp - 0x1330]
addsd xmm0, qword [ebp - 0x1348]
addsd xmm0, qword [0x500c60]
movsd qword [ebp - 0x1330], xmm0
fld qword [ebp - 0x1330]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
fstp qword [ebp - 0x1330]
cvttsd2si eax, qword [ebp - 0x1330]
mov ecx, 0x3ff
add esp, 8
cmp esi, ecx
cmovg esi, ecx
cmp eax, ecx
cmovg eax, ecx
xor ecx, ecx
test esi, esi
mov dword [ebp - 0x131c], eax
cmovs esi, ecx
mov dword [ebp - 0x1320], esi
test eax, eax
jns 0x4d0ad5
jmp 0x4d0acd
jne 0x4d0807
push edi
push edx
lea eax, [ebp - 0x1318]
push eax
push edx
push 0
push esi
push ecx
call fcn.004cfb60
add esp, 0x1c
mov ecx, eax
jmp 0x4d086a
xor esi, esi
mov dword [ebp - 0x1320], esi
xor eax, eax
mov dword [ebp - 0x131c], eax
mov dword [ebp - 0x108], esi
mov dword [ebp - 0x20c], esi
mov esi, 2
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x104], eax
cmp ebx, esi
jle 0x4d0e05
mov ecx, dword [ebp - 0x1324]
lea eax, [ecx + 0x210]
mov dword [ebp - 0x1320], eax
nop dword [eax]
mov eax, dword [eax]
mov ebx, dword [ebp + eax*4 - 0x414]
mov edi, dword [ebp + eax*4 - 0x310]
cmp dword [ebp + ebx*4 - 0x518], edi
je 0x4d0dc5
mov eax, dword [ecx + ebx*4 + 0x208]
mov edx, dword [ebp - 0x1328]
mov dword [ebp - 0x1338], eax
mov eax, dword [ecx + edi*4 + 0x208]
mov ecx, dword [ebp + ebx*4 - 0x20c]
mov dword [ebp - 0x132c], eax
mov eax, dword [ebp + ebx*4 - 0x108]
mov dword [ebp + ebx*4 - 0x518], edi
mov dword [ebp - 0x1350], ecx
test eax, eax
js 0x4d0b7e
test ecx, ecx
jns 0x4d0b74
mov ecx, eax
jmp 0x4d0b78
add ecx, eax
sar ecx, 1
mov dword [ebp - 0x1350], ecx
cmp dword [ebp + edi*4 - 0x108], 0
mov eax, dword [ebp + edi*4 - 0x20c]
mov dword [ebp - 0x1354], eax
jl 0x4d0bb1
test eax, eax
jns 0x4d0ba2
mov eax, dword [ebp + edi*4 - 0x108]
jmp 0x4d0bab
add eax, dword [ebp + edi*4 - 0x108]
sar eax, 1
mov dword [ebp - 0x1354], eax
cmp ecx, 0xffffffff
je 0x4d0dfd
cmp eax, 0xffffffff
je 0x4d0dfd
push edx
push dword [ebp - 0x135c]
push dword [ebp - 0x134c]
push eax
push ecx
push dword [edx + edi*4 + 0x344]
push dword [edx + ebx*4 + 0x344]
call fcn.004d1200
add esp, 0x1c
test eax, eax
je 0x4d0da9
mov ecx, dword [ebp - 0x1328]
lea eax, [ebp - 0x1344]
push ecx
mov ecx, dword [ebp - 0x1338]
push eax
lea eax, [ebp - 0x1360]
mov dword [ebp - 0x1360], 0xffffff38
push eax
mov eax, dword [ebp - 0x1320]
mov dword [ebp - 0x1344], 0xffffff38
mov dword [ebp - 0x131c], 0xffffff38
mov dword [ebp - 0x1334], 0xffffff38
mov eax, dword [eax]
sub eax, ecx
push eax
lea eax, [ecx*8]
sub eax, ecx
lea ecx, [ebp - 0x1318]
lea eax, [ecx + eax*8]
push eax
call fcn.004cfd30
push dword [ebp - 0x1328]
mov edx, dword [ebp - 0x1320]
lea ecx, [ebp - 0x1334]
push ecx
mov dword [ebp - 0x1338], eax
lea ecx, [ebp - 0x131c]
mov eax, dword [ebp - 0x132c]
push ecx
mov ecx, dword [edx]
sub eax, ecx
push eax
lea eax, [ecx*8]
sub eax, ecx
lea ecx, [ebp - 0x1318]
lea eax, [ecx + eax*8]
push eax
call fcn.004cfd30
mov ecx, eax
add esp, 0x28
cmp dword [ebp - 0x1338], 0
mov eax, dword [ebp - 0x131c]
mov dword [ebp - 0x132c], ecx
mov dword [ebp - 0x131c], eax
je 0x4d0cc1
mov edx, dword [ebp - 0x1350]
jmp 0x4d0ccd
mov edx, dword [ebp - 0x1360]
mov eax, dword [ebp - 0x1344]
mov dword [ebp - 0x1344], eax
test ecx, ecx
je 0x4d0ce5
mov ecx, dword [ebp - 0x1354]
mov dword [ebp - 0x131c], eax
jmp 0x4d0ceb
mov ecx, dword [ebp - 0x1334]
cmp dword [ebp - 0x1338], 0
je 0x4d0d01
cmp dword [ebp - 0x132c], 0
jne 0x4d0da9
mov eax, dword [ebp - 0x108]
test ebx, ebx
mov dword [ebp + ebx*4 - 0x20c], edx
cmove eax, edx
mov edx, dword [ebp - 0x1344]
mov dword [ebp - 0x108], eax
cmp edi, 1
mov eax, dword [ebp - 0x131c]
mov dword [ebp + esi*4 - 0x20c], eax
mov eax, dword [ebp - 0x208]
cmove eax, ecx
mov dword [ebp + esi*4 - 0x108], edx
mov dword [ebp + edi*4 - 0x108], ecx
mov dword [ebp - 0x208], eax
test edx, edx
jns 0x4d0d59
cmp dword [ebp - 0x131c], 0
jl 0x4d0dbf
mov eax, dword [ebp - 0x1320]
mov ecx, dword [eax]
lea eax, [ecx - 1]
test eax, eax
js 0x4d0d85
nop dword [eax + eax]
cmp dword [ebp + eax*4 - 0x310], edi
jne 0x4d0d85
mov dword [ebp + eax*4 - 0x310], esi
sub eax, 1
jns 0x4d0d70
mov edi, dword [ebp - 0x1340]
lea eax, [ecx + 1]
cmp eax, edi
jge 0x4d0dbf
cmp dword [ebp + eax*4 - 0x414], ebx
jne 0x4d0dbf
mov dword [ebp + eax*4 - 0x414], esi
inc eax
cmp eax, edi
jl 0x4d0d92
jmp 0x4d0dbf
mov dword [ebp + esi*4 - 0x20c], 0xffffff38
mov dword [ebp + esi*4 - 0x108], 0xffffff38
mov ecx, dword [ebp - 0x1324]
mov eax, dword [ebp - 0x1320]
inc esi
mov ebx, dword [ebp - 0x1340]
add eax, 4
mov dword [ebp - 0x1320], eax
cmp esi, ebx
jl 0x4d0b10
mov eax, dword [ebp - 0x20c]
mov esi, dword [ebp - 0x104]
mov edi, dword [ebp - 0x1328]
mov dword [ebp - 0x1320], eax
jmp 0x4d0e0b
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov esi, dword [ebp - 0x131c]
lea eax, [ebx*4]
push eax
push dword [ebp - 0x1358]
call fcn.004c4b70
mov ecx, dword [ebp - 0x1320]
add esp, 8
cmp dword [ebp - 0x108], 0
mov edx, eax
mov dword [ebp - 0x131c], edx
jl 0x4d0e4c
test ecx, ecx
jns 0x4d0e44
mov ecx, dword [ebp - 0x108]
jmp 0x4d0e4c
add ecx, dword [ebp - 0x108]
sar ecx, 1
mov dword [edx], ecx
test esi, esi
jns 0x4d0e5a
mov esi, dword [ebp - 0x208]
jmp 0x4d0e6b
cmp dword [ebp - 0x208], 0
jl 0x4d0e6b
add esi, dword [ebp - 0x208]
sar esi, 1
mov dword [edx + 4], esi
mov dword [ebp - 0x1338], 2
cmp ebx, 2
jle 0x4d0fa3
mov eax, dword [ebp - 0x1324]
lea ecx, [edi + 0x34c]
mov esi, 0xfffffcfc
mov dword [ebp - 0x1344], ecx
sub esi, eax
mov dword [ebp - 0x132c], esi
lea ebx, [eax + 0x30c]
mov dword [ebp - 0x1334], ebx
nop dword [eax]
mov eax, dword [ebx + 0xfc]
mov esi, dword [ebx]
mov ecx, dword [ecx]
mov edi, dword [edi + eax*4 + 0x344]
sub ecx, edi
mov eax, dword [edx + eax*4]
mov ebx, dword [edx + esi*4]
and eax, 0x7fff
mov dword [ebp - 0x1358], eax
and ebx, 0x7fff
sub ebx, eax
mov eax, ebx
cdq
xor eax, edx
sub eax, edx
imul eax, ecx
mov ecx, dword [ebp - 0x1328]
mov ecx, dword [ecx + esi*4 + 0x344]
sub ecx, edi
cdq
idiv ecx
mov esi, dword [ebp - 0x1358]
mov edx, dword [ebp - 0x1338]
lea ecx, [eax + esi]
sub esi, eax
test ebx, ebx
lea eax, [ebp - 0x108]
mov eax, dword [eax + edx*4]
cmovns esi, ecx
test eax, eax
jns 0x4d0f24
mov eax, dword [ebp + edx*4 - 0x20c]
jmp 0x4d0f33
mov ecx, dword [ebp + edx*4 - 0x20c]
test ecx, ecx
js 0x4d0f37
add eax, ecx
sar eax, 1
test eax, eax
js 0x4d0f3b
cmp esi, eax
jne 0x4d0f42
mov eax, esi
or eax, 0x8000
mov ecx, dword [ebp - 0x131c]
inc edx
add ecx, dword [ebp - 0x132c]
mov ebx, dword [ebp - 0x1334]
mov edi, dword [ebp - 0x1328]
mov dword [ebp - 0x1338], edx
mov dword [ecx + ebx], eax
add ebx, 4
mov ecx, dword [ebp - 0x1344]
add ecx, 4
mov dword [ebp - 0x1334], ebx
cmp edx, dword [ebp - 0x1340]
mov edx, dword [ebp - 0x131c]
mov dword [ebp - 0x1344], ecx
jl 0x4d0eb0
pop edi
pop esi
mov eax, edx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3ed5
mov esp, ebp
pop ebp
ret
xor edx, edx
mov ecx, dword [ebp - 4]
mov eax, edx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004d3ed5
mov esp, ebp
pop ebp
ret